kettle-jem 7.1.28 → 7.1.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/CHANGELOG.md +183 -1
  4. data/README.md +18 -2
  5. data/lib/kettle/jem/maintenance_changelog.rb +1 -1
  6. data/lib/kettle/jem/relative_paths.rb +61 -0
  7. data/lib/kettle/jem/tasks/install_task.rb +9 -5
  8. data/lib/kettle/jem/tasks/prepare_task.rb +29 -10
  9. data/lib/kettle/jem/tasks/template_task.rb +18 -3
  10. data/lib/kettle/jem/templates/.git-hooks/prepare-commit-msg.example +3 -4
  11. data/lib/kettle/jem/templates/.github/workflows/coverage.yml.example +1 -1
  12. data/lib/kettle/jem/templates/.github/workflows/current.yml.example +8 -13
  13. data/lib/kettle/jem/templates/.github/workflows/dep-heads.yml.example +5 -5
  14. data/lib/kettle/jem/templates/.github/workflows/framework-ci.yml.example +1 -1
  15. data/lib/kettle/jem/templates/.github/workflows/heads.yml.example +3 -63
  16. data/lib/kettle/jem/templates/.github/workflows/jruby-10.0.yml.example +2 -2
  17. data/lib/kettle/jem/templates/.github/workflows/jruby-9.1.yml.example +2 -2
  18. data/lib/kettle/jem/templates/.github/workflows/jruby-9.2.yml.example +2 -2
  19. data/lib/kettle/jem/templates/.github/workflows/jruby-9.3.yml.example +2 -2
  20. data/lib/kettle/jem/templates/.github/workflows/jruby-9.4.yml.example +2 -2
  21. data/lib/kettle/jem/templates/.github/workflows/jruby.yml.example +2 -2
  22. data/lib/kettle/jem/templates/.github/workflows/license-eye.yml.example +22 -1
  23. data/lib/kettle/jem/templates/.github/workflows/locked_deps.yml.example +1 -1
  24. data/lib/kettle/jem/templates/.github/workflows/opencollective.yml.example +1 -1
  25. data/lib/kettle/jem/templates/.github/workflows/ruby-2.3.yml.example +1 -1
  26. data/lib/kettle/jem/templates/.github/workflows/ruby-2.4.yml.example +1 -1
  27. data/lib/kettle/jem/templates/.github/workflows/ruby-2.5.yml.example +1 -1
  28. data/lib/kettle/jem/templates/.github/workflows/ruby-2.6.yml.example +1 -1
  29. data/lib/kettle/jem/templates/.github/workflows/ruby-2.7.yml.example +1 -1
  30. data/lib/kettle/jem/templates/.github/workflows/ruby-3.0.yml.example +1 -1
  31. data/lib/kettle/jem/templates/.github/workflows/ruby-3.1.yml.example +1 -1
  32. data/lib/kettle/jem/templates/.github/workflows/ruby-3.2.yml.example +1 -1
  33. data/lib/kettle/jem/templates/.github/workflows/ruby-3.3.yml.example +1 -1
  34. data/lib/kettle/jem/templates/.github/workflows/ruby-3.4.yml.example +1 -1
  35. data/lib/kettle/jem/templates/.github/workflows/style.yml.example +1 -1
  36. data/lib/kettle/jem/templates/.github/workflows/templating.yml.example +14 -1
  37. data/lib/kettle/jem/templates/.github/workflows/truffle.yml.example +2 -2
  38. data/lib/kettle/jem/templates/.github/workflows/truffleruby-22.3.yml.example +2 -2
  39. data/lib/kettle/jem/templates/.github/workflows/truffleruby-23.1.yml.example +2 -2
  40. data/lib/kettle/jem/templates/.github/workflows/truffleruby-24.2.yml.example +2 -2
  41. data/lib/kettle/jem/templates/.github/workflows/truffleruby-25.0.yml.example +2 -2
  42. data/lib/kettle/jem/templates/.github/workflows/truffleruby-33.0.yml.example +2 -2
  43. data/lib/kettle/jem/templates/.github/workflows/unlocked_deps.yml.example +1 -1
  44. data/lib/kettle/jem/templates/.structuredmerge/kettle-jem.yml.example +19 -0
  45. data/lib/kettle/jem/templates/Appraisal.root.gemfile.example +2 -1
  46. data/lib/kettle/jem/templates/Appraisals.example +4 -1
  47. data/lib/kettle/jem/templates/CHANGELOG.transfer.md +6 -0
  48. data/lib/kettle/jem/templates/Gemfile.example +12 -3
  49. data/lib/kettle/jem/templates/README.md.example +5 -5
  50. data/lib/kettle/jem/templates/Rakefile.example +2 -0
  51. data/lib/kettle/jem/templates/bin/turbo_tests2.example +14 -0
  52. data/lib/kettle/jem/templates/gem.gemspec.example +6 -6
  53. data/lib/kettle/jem/templates/gemfiles/modular/coverage.gemfile.example +1 -1
  54. data/lib/kettle/jem/templates/gemfiles/modular/coverage_local.gemfile.example +10 -12
  55. data/lib/kettle/jem/templates/gemfiles/modular/documentation.gemfile.example +5 -5
  56. data/lib/kettle/jem/templates/gemfiles/modular/ostruct/r4/v0.6.gemfile.example +2 -0
  57. data/lib/kettle/jem/templates/gemfiles/modular/style.gemfile.example +15 -8
  58. data/lib/kettle/jem/templates/gemfiles/modular/style_local.gemfile.example +7 -1
  59. data/lib/kettle/jem/templates/gemfiles/modular/templating.gemfile.example +3 -2
  60. data/lib/kettle/jem/templates/gemfiles/modular/templating_local.gemfile.example +18 -19
  61. data/lib/kettle/jem/templates/gemfiles/modular/x_std_libs/r4/libs.gemfile.example +1 -0
  62. data/lib/kettle/jem/templates/mise.toml.example +1 -1
  63. data/lib/kettle/jem/templates/mise.toml.no-osc.example +1 -1
  64. data/lib/kettle/jem/templates/readme/partials/configuration.md.example +4 -3
  65. data/lib/kettle/jem/templates/shim/Gemfile.example +9 -3
  66. data/lib/kettle/jem/templates/shim/gem.gemspec.example +3 -3
  67. data/lib/kettle/jem/version.rb +1 -1
  68. data/lib/kettle/jem.rb +1156 -705
  69. data.tar.gz.sig +0 -0
  70. metadata +28 -67
  71. metadata.gz.sig +0 -0
  72. data/lib/kettle/jem/templates/.github/workflows/truffleruby-23.0.yml.example +0 -92
  73. data/lib/kettle/jem/templates/gemfiles/modular/json/truffleruby_23_0.gemfile.example +0 -6
@@ -54,7 +54,7 @@ jobs:
54
54
 
55
55
  - name: Setup Ruby & RubyGems
56
56
  if: ${{ !env.ACT }}
57
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
57
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
58
58
  with:
59
59
  ruby-version: ${{ matrix.ruby }}
60
60
  rubygems: ${{ matrix.rubygems }}
@@ -91,68 +91,8 @@ jobs:
91
91
  if: ${{ !env.ACT }}
92
92
  run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
93
93
 
94
- truffleruby:
95
- if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release'))"
96
- name: Specs truffleruby-head@head
97
- runs-on: ubuntu-latest
98
- continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
99
- env:
100
- BUNDLE_GEMFILE: ${{ github.workspace }}/Appraisal.root.gemfile
101
- strategy:
102
- fail-fast: true
103
- matrix:
104
- include:
105
- - ruby: "truffleruby-head"
106
- appraisal: "head"
107
- exec_cmd: "{KJ|CI:EXEC_CMD}"
108
- rubygems: default
109
- bundler: default
110
-
111
- steps:
112
- - name: Checkout
113
- if: ${{ !env.ACT }}
114
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
115
- with:
116
- persist-credentials: false
117
-
118
- - name: Setup Ruby & RubyGems
119
- if: ${{ !env.ACT }}
120
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
121
- with:
122
- ruby-version: ${{ matrix.ruby }}
123
- rubygems: ${{ matrix.rubygems }}
124
- bundler: ${{ matrix.bundler }}
125
- bundler-cache: true
126
- manual-compatibility-bundle: true
127
- gem-install-retries: 7
128
-
129
- - name: "[Attempt 1] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}"
130
- id: bundleAppraisalAttempt1
131
- if: ${{ !env.ACT }}
132
- run: bundle exec appraisal ${{ matrix.appraisal }} install
133
- continue-on-error: true
134
-
135
- - name: "[Attempt 2] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}"
136
- id: bundleAppraisalAttempt2
137
- if: ${{ !env.ACT && steps.bundleAppraisalAttempt1.outcome == 'failure' }}
138
- run: bundle exec appraisal ${{ matrix.appraisal }} install
139
-
140
- - name: Restore RSpec status log
141
- if: "${{!env.ACT}}"
142
- uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
143
- with:
144
- path: .rspec_status
145
- key: rspec-status-heads-${{matrix.ruby}}-${{matrix.appraisal}}-${{hashFiles('**/Gemfile.lock','Appraisal.root.gemfile','gemfiles/**/*.gemfile')}}-${{github.run_id}}-${{github.run_attempt}}
146
- restore-keys: |
147
- rspec-status-heads-${{matrix.ruby}}-${{matrix.appraisal}}-${{hashFiles('**/Gemfile.lock','Appraisal.root.gemfile','gemfiles/**/*.gemfile')}}-
148
- rspec-status-heads-${{matrix.ruby}}-${{matrix.appraisal}}-
149
-
150
- - name: Tests for ${{ matrix.ruby }} via ${{ matrix.exec_cmd }}
151
- if: ${{ !env.ACT }}
152
- run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
153
-
154
94
  jruby:
155
- if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'jruby/') || startsWith(github.head_ref, 'feature/release'))"
95
+ if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'jruby/') || startsWith(github.head_ref, 'feature/release') || startsWith(github.event.pull_request.title, 'Release '))"
156
96
  name: Specs jruby-head@head
157
97
  runs-on: ubuntu-latest
158
98
  continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
@@ -177,7 +117,7 @@ jobs:
177
117
 
178
118
  - name: Setup Ruby & RubyGems
179
119
  if: ${{ !env.ACT }}
180
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
120
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
181
121
  with:
182
122
  ruby-version: ${{ matrix.ruby }}
183
123
  rubygems: ${{ matrix.rubygems }}
@@ -27,7 +27,7 @@ concurrency:
27
27
 
28
28
  jobs:
29
29
  test:
30
- if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'jruby/') || startsWith(github.head_ref, 'feature/release'))"
30
+ if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'jruby/') || startsWith(github.head_ref, 'feature/release') || startsWith(github.event.pull_request.title, 'Release '))"
31
31
  name: Specs ${{ matrix.ruby }}@${{ matrix.appraisal }}
32
32
  runs-on: ubuntu-latest
33
33
  continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
@@ -53,7 +53,7 @@ jobs:
53
53
 
54
54
  - name: Setup Ruby & RubyGems
55
55
  if: ${{ !env.ACT }}
56
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
56
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
57
57
  with:
58
58
  ruby-version: ${{ matrix.ruby }}
59
59
  rubygems: ${{ matrix.rubygems }}
@@ -27,7 +27,7 @@ concurrency:
27
27
 
28
28
  jobs:
29
29
  test:
30
- if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'jruby/') || startsWith(github.head_ref, 'feature/release'))"
30
+ if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'jruby/') || startsWith(github.head_ref, 'feature/release') || startsWith(github.event.pull_request.title, 'Release '))"
31
31
  name: Specs ${{ matrix.ruby }}@${{ matrix.appraisal }}
32
32
  runs-on: ubuntu-22.04
33
33
  continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
@@ -52,7 +52,7 @@ jobs:
52
52
 
53
53
  - name: Setup Ruby & RubyGems
54
54
  if: ${{ !env.ACT }}
55
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
55
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
56
56
  with:
57
57
  ruby-version: ${{ matrix.ruby }}
58
58
  rubygems: ${{ matrix.rubygems }}
@@ -27,7 +27,7 @@ concurrency:
27
27
 
28
28
  jobs:
29
29
  test:
30
- if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'jruby/') || startsWith(github.head_ref, 'feature/release'))"
30
+ if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'jruby/') || startsWith(github.head_ref, 'feature/release') || startsWith(github.event.pull_request.title, 'Release '))"
31
31
  name: Specs ${{ matrix.ruby }}@${{ matrix.appraisal }}
32
32
  runs-on: ubuntu-22.04
33
33
  continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
@@ -52,7 +52,7 @@ jobs:
52
52
 
53
53
  - name: Setup Ruby & RubyGems
54
54
  if: ${{ !env.ACT }}
55
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
55
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
56
56
  with:
57
57
  ruby-version: ${{ matrix.ruby }}
58
58
  rubygems: ${{ matrix.rubygems }}
@@ -27,7 +27,7 @@ concurrency:
27
27
 
28
28
  jobs:
29
29
  test:
30
- if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'jruby/') || startsWith(github.head_ref, 'feature/release'))"
30
+ if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'jruby/') || startsWith(github.head_ref, 'feature/release') || startsWith(github.event.pull_request.title, 'Release '))"
31
31
  name: Specs ${{ matrix.ruby }}@${{ matrix.appraisal }}
32
32
  runs-on: ubuntu-22.04
33
33
  continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
@@ -52,7 +52,7 @@ jobs:
52
52
 
53
53
  - name: Setup Ruby & RubyGems
54
54
  if: ${{ !env.ACT }}
55
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
55
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
56
56
  with:
57
57
  ruby-version: ${{ matrix.ruby }}
58
58
  rubygems: ${{ matrix.rubygems }}
@@ -27,7 +27,7 @@ concurrency:
27
27
 
28
28
  jobs:
29
29
  test:
30
- if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'jruby/') || startsWith(github.head_ref, 'feature/release'))"
30
+ if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'jruby/') || startsWith(github.head_ref, 'feature/release') || startsWith(github.event.pull_request.title, 'Release '))"
31
31
  name: Specs ${{ matrix.ruby }}@${{ matrix.appraisal }}
32
32
  runs-on: ubuntu-22.04
33
33
  continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
@@ -52,7 +52,7 @@ jobs:
52
52
 
53
53
  - name: Setup Ruby & RubyGems
54
54
  if: ${{ !env.ACT }}
55
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
55
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
56
56
  with:
57
57
  ruby-version: ${{ matrix.ruby }}
58
58
  rubygems: ${{ matrix.rubygems }}
@@ -27,7 +27,7 @@ concurrency:
27
27
 
28
28
  jobs:
29
29
  test:
30
- if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'jruby/') || startsWith(github.head_ref, 'feature/release'))"
30
+ if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'jruby/') || startsWith(github.head_ref, 'feature/release') || startsWith(github.event.pull_request.title, 'Release '))"
31
31
  name: Specs ${{ matrix.ruby }}@${{ matrix.appraisal }}
32
32
  runs-on: ubuntu-latest
33
33
  continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
@@ -53,7 +53,7 @@ jobs:
53
53
 
54
54
  - name: Setup Ruby & RubyGems
55
55
  if: ${{ !env.ACT }}
56
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
56
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
57
57
  with:
58
58
  ruby-version: ${{ matrix.ruby }}
59
59
  rubygems: ${{ matrix.rubygems }}
@@ -32,7 +32,18 @@ jobs:
32
32
  with:
33
33
  persist-credentials: false
34
34
 
35
- - name: Check Dependencies' License
35
+ # This action is a composite that builds license-eye from source on every
36
+ # run, and its own cache is broken upstream: dependency/action.yml passes
37
+ # cache-dependency-path ${{ github.action_path }}/go.sum, but go.sum lives
38
+ # at the action's repository root, not in dependency/ (404 vs 200). So
39
+ # setup-go logs "Restore cache failed: Some specified paths were not
40
+ # resolved" and the module cache never restores, making each run
41
+ # re-download ~35 Go modules and re-run make. That leaves every run
42
+ # exposed to a transient proxy.golang.org error such as
43
+ # "stream error: INTERNAL_ERROR; received from peer", which fails the job
44
+ # on an otherwise healthy repository. Retry once before failing.
45
+ - name: "[Attempt 1] Check Dependencies' License"
46
+ id: licenseEyeAttempt1
36
47
  uses: apache/skywalking-eyes/dependency@a196742f472feaffafea537ce5a2a4c3c53a8de4 # v0.9.0
37
48
  with:
38
49
  config: .licenserc.yaml
@@ -41,3 +52,13 @@ jobs:
41
52
  # only when License-Eye has a usable main-license matrix; otherwise
42
53
  # resolve mode records dependency licenses without false failures.
43
54
  flags: "{KJ|LICENSE_EYE:FLAGS}"
55
+ continue-on-error: true
56
+
57
+ - name: "[Attempt 2] Check Dependencies' License"
58
+ id: licenseEyeAttempt2
59
+ if: ${{ steps.licenseEyeAttempt1.outcome == 'failure' }}
60
+ uses: apache/skywalking-eyes/dependency@a196742f472feaffafea537ce5a2a4c3c53a8de4 # v0.9.0
61
+ with:
62
+ config: .licenserc.yaml
63
+ mode: "{KJ|LICENSE_EYE:MODE}"
64
+ flags: "{KJ|LICENSE_EYE:FLAGS}"
@@ -76,7 +76,7 @@ jobs:
76
76
  persist-credentials: false
77
77
 
78
78
  - name: Setup Ruby & RubyGems
79
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
79
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
80
80
  with:
81
81
  ruby-version: ${{ matrix.ruby }}
82
82
  rubygems: ${{ matrix.rubygems }}
@@ -20,7 +20,7 @@ jobs:
20
20
  with:
21
21
  persist-credentials: false
22
22
  - name: Setup Ruby & RubyGems
23
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
23
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
24
24
  with:
25
25
  ruby-version: ruby
26
26
  rubygems: default
@@ -47,7 +47,7 @@ jobs:
47
47
  persist-credentials: false
48
48
 
49
49
  - name: Setup Ruby & RubyGems
50
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
50
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
51
51
  with:
52
52
  ruby-version: ${{ matrix.ruby }}
53
53
  rubygems: ${{ matrix.rubygems }}
@@ -47,7 +47,7 @@ jobs:
47
47
  persist-credentials: false
48
48
 
49
49
  - name: Setup Ruby & RubyGems
50
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
50
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
51
51
  with:
52
52
  ruby-version: ${{ matrix.ruby }}
53
53
  rubygems: ${{ matrix.rubygems }}
@@ -47,7 +47,7 @@ jobs:
47
47
  persist-credentials: false
48
48
 
49
49
  - name: Setup Ruby & RubyGems
50
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
50
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
51
51
  with:
52
52
  ruby-version: ${{ matrix.ruby }}
53
53
  rubygems: ${{ matrix.rubygems }}
@@ -47,7 +47,7 @@ jobs:
47
47
  persist-credentials: false
48
48
 
49
49
  - name: Setup Ruby & RubyGems
50
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
50
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
51
51
  with:
52
52
  ruby-version: ${{ matrix.ruby }}
53
53
  rubygems: ${{ matrix.rubygems }}
@@ -47,7 +47,7 @@ jobs:
47
47
  persist-credentials: false
48
48
 
49
49
  - name: Setup Ruby & RubyGems
50
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
50
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
51
51
  with:
52
52
  ruby-version: ${{ matrix.ruby }}
53
53
  rubygems: ${{ matrix.rubygems }}
@@ -50,7 +50,7 @@ jobs:
50
50
  persist-credentials: false
51
51
 
52
52
  - name: Setup Ruby & RubyGems
53
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
53
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
54
54
  with:
55
55
  ruby-version: ${{ matrix.ruby }}
56
56
  rubygems: ${{ matrix.rubygems }}
@@ -50,7 +50,7 @@ jobs:
50
50
  persist-credentials: false
51
51
 
52
52
  - name: Setup Ruby & RubyGems
53
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
53
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
54
54
  with:
55
55
  ruby-version: ${{ matrix.ruby }}
56
56
  rubygems: ${{ matrix.rubygems }}
@@ -47,7 +47,7 @@ jobs:
47
47
  persist-credentials: false
48
48
 
49
49
  - name: Setup Ruby & RubyGems
50
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
50
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
51
51
  with:
52
52
  ruby-version: ${{ matrix.ruby }}
53
53
  rubygems: ${{ matrix.rubygems }}
@@ -47,7 +47,7 @@ jobs:
47
47
  persist-credentials: false
48
48
 
49
49
  - name: Setup Ruby & RubyGems
50
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
50
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
51
51
  with:
52
52
  ruby-version: ${{ matrix.ruby }}
53
53
  rubygems: ${{ matrix.rubygems }}
@@ -47,7 +47,7 @@ jobs:
47
47
  persist-credentials: false
48
48
 
49
49
  - name: Setup Ruby & RubyGems
50
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
50
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
51
51
  with:
52
52
  ruby-version: ${{ matrix.ruby }}
53
53
  rubygems: ${{ matrix.rubygems }}
@@ -47,7 +47,7 @@ jobs:
47
47
  persist-credentials: false
48
48
 
49
49
  - name: Setup Ruby & RubyGems
50
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
50
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
51
51
  with:
52
52
  ruby-version: ${{ matrix.ruby }}
53
53
  rubygems: ${{ matrix.rubygems }}
@@ -52,7 +52,7 @@ jobs:
52
52
  persist-credentials: false
53
53
 
54
54
  - name: Setup Ruby & RubyGems
55
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
55
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
56
56
  with:
57
57
  ruby-version: ${{ matrix.ruby }}
58
58
  rubygems: ${{ matrix.rubygems }}
@@ -82,5 +82,18 @@ jobs:
82
82
  if: ${{ steps.bundleAppraisalAttempt1.outcome == 'failure' }}
83
83
  run: bundle exec appraisal ${{ matrix.appraisal }} install
84
84
 
85
+ - name: Cache tree-sitter-language-pack grammars
86
+ if: "${{!env.ACT}}"
87
+ uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
88
+ with:
89
+ # TSLP hot-loads grammars on demand into a versioned cache dir.
90
+ # Caching it keeps the self-test off the network in the common case;
91
+ # a miss falls back to the in-run prefetch (kettle-jem tslp_prefetch
92
+ # phase) with retries and attributable diagnostics.
93
+ path: ~/.cache/tree-sitter-language-pack
94
+ key: tslp-grammars-${{runner.os}}-${{hashFiles('gemfiles/templating.gemfile.lock','Gemfile.lock')}}
95
+ restore-keys: |
96
+ tslp-grammars-${{runner.os}}-
97
+
85
98
  - name: Templating self-test for ${{ matrix.ruby }} via ${{ matrix.exec_cmd }}
86
99
  run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
@@ -27,7 +27,7 @@ concurrency:
27
27
 
28
28
  jobs:
29
29
  test:
30
- if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release'))"
30
+ if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release') || startsWith(github.event.pull_request.title, 'Release '))"
31
31
  name: Specs ${{ matrix.ruby }}@${{ matrix.appraisal }}
32
32
  runs-on: ubuntu-latest
33
33
  continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
@@ -53,7 +53,7 @@ jobs:
53
53
 
54
54
  - name: Setup Ruby & RubyGems
55
55
  if: ${{ !env.ACT }}
56
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
56
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
57
57
  with:
58
58
  ruby-version: ${{ matrix.ruby }}
59
59
  rubygems: ${{ matrix.rubygems }}
@@ -27,7 +27,7 @@ concurrency:
27
27
 
28
28
  jobs:
29
29
  test:
30
- if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release'))"
30
+ if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release') || startsWith(github.event.pull_request.title, 'Release '))"
31
31
  name: Specs ${{ matrix.ruby }}@${{ matrix.appraisal }}
32
32
  runs-on: ubuntu-22.04
33
33
  continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
@@ -54,7 +54,7 @@ jobs:
54
54
 
55
55
  - name: Setup Ruby & RubyGems
56
56
  if: ${{ !env.ACT }}
57
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
57
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
58
58
  with:
59
59
  ruby-version: ${{ matrix.ruby }}
60
60
  rubygems: ${{ matrix.rubygems }}
@@ -27,7 +27,7 @@ concurrency:
27
27
 
28
28
  jobs:
29
29
  test:
30
- if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release'))"
30
+ if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release') || startsWith(github.event.pull_request.title, 'Release '))"
31
31
  name: Specs ${{ matrix.ruby }}@${{ matrix.appraisal }}
32
32
  runs-on: ubuntu-22.04
33
33
  continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
@@ -54,7 +54,7 @@ jobs:
54
54
 
55
55
  - name: Setup Ruby & RubyGems
56
56
  if: ${{ !env.ACT }}
57
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
57
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
58
58
  with:
59
59
  ruby-version: ${{ matrix.ruby }}
60
60
  rubygems: ${{ matrix.rubygems }}
@@ -27,7 +27,7 @@ concurrency:
27
27
 
28
28
  jobs:
29
29
  test:
30
- if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release'))"
30
+ if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release') || startsWith(github.event.pull_request.title, 'Release '))"
31
31
  name: Specs ${{ matrix.ruby }}@${{ matrix.appraisal }}
32
32
  runs-on: ubuntu-22.04
33
33
  continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
@@ -53,7 +53,7 @@ jobs:
53
53
 
54
54
  - name: Setup Ruby & RubyGems
55
55
  if: ${{ !env.ACT }}
56
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
56
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
57
57
  with:
58
58
  ruby-version: ${{ matrix.ruby }}
59
59
  rubygems: ${{ matrix.rubygems }}
@@ -27,7 +27,7 @@ concurrency:
27
27
 
28
28
  jobs:
29
29
  test:
30
- if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release'))"
30
+ if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release') || startsWith(github.event.pull_request.title, 'Release '))"
31
31
  name: Specs ${{ matrix.ruby }}@${{ matrix.appraisal }}
32
32
  runs-on: ubuntu-22.04
33
33
  continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
@@ -53,7 +53,7 @@ jobs:
53
53
 
54
54
  - name: Setup Ruby & RubyGems
55
55
  if: ${{ !env.ACT }}
56
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
56
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
57
57
  with:
58
58
  ruby-version: ${{ matrix.ruby }}
59
59
  rubygems: ${{ matrix.rubygems }}
@@ -27,7 +27,7 @@ concurrency:
27
27
 
28
28
  jobs:
29
29
  test:
30
- if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release'))"
30
+ if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release') || startsWith(github.event.pull_request.title, 'Release '))"
31
31
  name: Specs ${{ matrix.ruby }}@${{ matrix.appraisal }}
32
32
  runs-on: ubuntu-22.04
33
33
  continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
@@ -53,7 +53,7 @@ jobs:
53
53
 
54
54
  - name: Setup Ruby & RubyGems
55
55
  if: ${{ !env.ACT }}
56
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
56
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
57
57
  with:
58
58
  ruby-version: ${{ matrix.ruby }}
59
59
  rubygems: ${{ matrix.rubygems }}
@@ -67,7 +67,7 @@ jobs:
67
67
  persist-credentials: false
68
68
 
69
69
  - name: Setup Ruby & RubyGems
70
- uses: appraisal-rb/setup-ruby-flash@925395edf973d2dc0a629919f407f3547a03d4b5 # v2.1 compatibility bundle installation
70
+ uses: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 compatibility bundle installation
71
71
  with:
72
72
  ruby-version: ${{ matrix.ruby }}
73
73
  rubygems: ${{ matrix.rubygems }}
@@ -101,6 +101,8 @@ author_aliases:
101
101
  # Supported actions (the destination project must explicitly choose one):
102
102
  # remove_modular_gem - remove the modular Gemfile's direct gem call.
103
103
  # remove_x_std_lib_eval - remove x_std_libs eval references for the gem.
104
+ # remove_direct_gem - remove the gemspec's or Gemfile's direct
105
+ # declaration, keeping the modular Gemfile's.
104
106
  # keep_both - retain both declarations when their requirements
105
107
  # overlap. This is intended for a broad direct
106
108
  # requirement narrowed by framework/engine Gemfiles;
@@ -143,6 +145,20 @@ engines:
143
145
  - jruby
144
146
  - truffleruby
145
147
 
148
+ # List the OS platforms this project's CI exercises. kettle-jem uses this to
149
+ # generate the current.yml OS matrix and the README platform tier table.
150
+ # Windows applies only when declared: the `if: matrix.os` guards and the
151
+ # Windows-only test step are emitted solely for destinations that opt in.
152
+ #
153
+ # Supported values: linux, macos, windows
154
+ # Default (when key is absent): linux, macos
155
+ # These are CI OS families, a distinct vocabulary from Gem::Platform strings
156
+ # and Gemfile DSL platform symbols; never reuse them for
157
+ # `bundle lock --add-platform`.
158
+ platforms:
159
+ - linux
160
+ - macos
161
+
146
162
  # Ruby version policy.
147
163
  ruby:
148
164
  # Lowest MRI Ruby version for generated CI workflows, Appraisals, and
@@ -556,6 +572,9 @@ patterns:
556
572
  strategy: raw_copy
557
573
  - path: ".github/workflows/**"
558
574
  strategy: accept_template
575
+ # Signature stub files are fully generated; there is nothing here to hand-edit.
576
+ - path: "sig/**/*.rbs"
577
+ strategy: accept_template
559
578
 
560
579
  # Per-file configuration (nested directory structure)
561
580
  # Only files that need overrides belong here. Everything else defaults to merge.
@@ -15,7 +15,8 @@ source "https://gem.coop"
15
15
 
16
16
  gemspec
17
17
 
18
- if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.2")
18
+ # The style toolchain includes dependencies that require Ruby 3.3 or newer.
19
+ if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.3")
19
20
  if respond_to?(:generator_only)
20
21
  generator_only do
21
22
  eval_gemfile "gemfiles/modular/style.gemfile"
@@ -48,6 +48,10 @@ appraise "unlocked_deps" do
48
48
  eval_gemfile "modular/documentation.gemfile"
49
49
  eval_gemfile "modular/optional.gemfile"
50
50
  eval_gemfile "modular/recording/r4/recording.gemfile"
51
+ # Development dependencies shunted out of the gemspec - see
52
+ # gemfiles/modular/shunted.gemfile's own header for exactly which ones
53
+ # and why.
54
+ eval_gemfile "modular/shunted.gemfile"
51
55
  eval_gemfile "modular/style.gemfile"
52
56
  eval_gemfile "modular/x_std_libs.gemfile"
53
57
  end
@@ -99,7 +103,6 @@ end
99
103
 
100
104
  appraise "ruby-3-0" do
101
105
  eval_gemfile "modular/json/truffleruby_22_3.gemfile"
102
- eval_gemfile "modular/json/truffleruby_23_0.gemfile"
103
106
  eval_gemfile "modular/recording/r3/recording.gemfile"
104
107
  eval_gemfile "modular/x_std_libs/r3.1/libs.gemfile"
105
108
  end
@@ -40,6 +40,12 @@ the other fields accept `=` or `!=`.
40
40
  - kettle-jem-template-20260729-005 [if feature.rubyforum_project_tag=true] - Gemspec metadata now publishes this
41
41
  project's RubyForum tag as `mailing_list_uri`, and support docs link to the
42
42
  tagged RubyForum community alongside Discord.
43
+ - kettle-jem-template-20260913-001 - Templating now also surfaces a review
44
+ entry in `dependency_conflicts.resolve` when a direct development
45
+ dependency doesn't support one or more of this project's declared
46
+ `engines:` and has no template-managed modular home (e.g. `sqlite3` on
47
+ `jruby`). Review each entry and pick a resolution per the project's own
48
+ engine support needs.
43
49
 
44
50
  ## Changed
45
51