🔧 Run engine CI on automated release-validation PRs - #157
Merged
Merged
Conversation
Coverage Report for CI Build 34748162879Coverage increased (+0.005%) to 95.073%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsNo coverage regressions found. Coverage Stats
💛 - Coveralls |
kettle-release opens a "release validation PR" before merging a release branch into main, titled "Release <branch-name>" — reusing whatever branch happened to be checked out rather than a conventionally-prefixed one. The JRuby/TruffleRuby job `if:` conditions only ran on PRs whose branch started with `engines/`, `jruby/`/`truffleruby/`, or `feature/release`, so a validation PR on an arbitrarily-named branch silently skips engine CI instead of validating the release. Add `startsWith(github.event.pull_request.title, 'Release ')` as an additional match alongside the existing branch-prefix checks, so engine CI runs for these release-validation PRs regardless of the branch name kettle-release reuses. Applied identically to every job in this repo that shares the condition. Same fix as galtzo-floss/turbo_tests2#50, scripted across the family instead of waiting for a full kettle-jem retemplate; also needs landing in the kettle-jem template itself. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01URwq1vEg3L7F3ddUr5eEn4
pboling
force-pushed
the
engines/fix-release-pr-ci-gate
branch
from
September 13, 2026 06:32
e0c03dc to
8f1dbcf
Compare
Bundler git sources must be fetchable anonymously over HTTPS. The SSH `git_source(:github)` recorded `git@github.com:` remotes in Gemfile.lock, which CI runners (no SSH key) cannot clone. This surfaced once setup-ruby-flash v2.2 began forcing `rv ci --force` on non-exact bundler cache restores. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P8aveNcdgPobyMrq8DkD9r
`github: "org/repo"` is built into Bundler and already resolves to https://github.com/org/repo.git, so redefining it is unnecessary. Gemfile.lock is unchanged (verified with `bundle lock --print`). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P8aveNcdgPobyMrq8DkD9r
- Drop the inline json < 2.19 in ruby-3-2; it duplicated the TruffleRuby 23.1 json pin and made Bundler reject the gemfile on that engine. - json 3.0 removed the quirks_mode keyword ActiveSupport < 8.1 passes to JSON.generate; keep ruby-3-1 on json 2.x. - TruffleRuby 23.1 cannot load ActiveSupport >= 7.2 or parse minitest >= 5.26.2. - Apply the TruffleRuby json default-gem pins to the root appraisal bundle. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P8aveNcdgPobyMrq8DkD9r
ActiveSupport 7.1's log_subscriber calls ActiveSupport.deprecator at load time, which only exists once active_support itself is required. Loading the component directly raised NoMethodError whenever ActiveSupport 7.1 is resolved (e.g. the TruffleRuby 23.1 appraisal). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P8aveNcdgPobyMrq8DkD9r
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
kettle-release opens a "release validation PR" before merging a release
branch into main, titled
Release <branch-name>— reusing whateverbranch happened to be checked out rather than a conventionally-prefixed
one. The JRuby/TruffleRuby job
if:conditions in the kettle-jemtemplates only ran on PRs whose branch started with
engines/,jruby//truffleruby/, orfeature/release, so a validation PR on anarbitrarily-named branch silently skipped engine CI instead of
validating the release (observed live on galtzo-floss/turbo_tests2#50).
Adds
startsWith(github.event.pull_request.title, 'Release ')as anadditional match alongside the existing branch-prefix checks, so engine
CI runs for these release-validation PRs regardless of the branch name
kettle-release reuses.
This is a scripted, family-wide interim patch of already-generated
workflow files, applied ahead of a kettle-jem release: the real fix is
merged at the template source (structuredmerge/structuredmerge-ruby#63)
but isn't in a released
kettle-jemversion yet, so a normal retemplatewouldn't pick it up.
🤖 Generated with Claude Code
https://claude.ai/code/session_01URwq1vEg3L7F3ddUr5eEn4