Repository navigation
Skip the yjit release variants for series without a supported YJIT - #3
Merged
Merged
Conversation
The release matrix asked for a yjit and a no_yjit tarball of every version. For 1.8 through 3.1 those were the same build under two names: no YJIT before 3.1, and 3.1's C implementation was experimental. Ruby 3.1 is now yjit: false in the recipes alongside the older series. build.yml's plan job computes the Linux matrix from the series' yjit setting — both variants per target when it has YJIT, otherwise no_yjit only — and the macOS job follows the same flag. package.rb keeps building a hand-requested --yjit on such a series under the requested name, with a warning, so nothing that used to work stops working. Claude-Session: https://claude.ai/code/session_01BFx21Nhpz1gdB1iNi3ZpT9
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.
The release matrix asked for a
yjitand ano_yjittarball of every version. For 1.8 through 3.1 those were identical builds under two names: nothing before 3.1 has YJIT, and 3.1's C implementation was experimental. This stops producing them.recipes/series.yml: Ruby 3.1 becomesyjit: false, joining the older series.build.yml: theplanjob now computes the Linux matrix from the series'yjitsetting, both variants per target when it has YJIT andno_yjitonly otherwise; the macOS job follows the same flag for its build, artifact name, and test.package.rb: a hand-runbin/package --yjiton such a series still builds without YJIT under the requested name, with a warning, so nothing that used to work stops working.Effect on a release of 1.8.7 through 3.1.7: two Linux builds instead of four, and only
ruby-VERSION.<target>.no_yjit.tar.gzassets. 3.2 and later are unchanged.Verified locally: recipe validation,
bin/recipe-infooutput for 3.1.7 (yjit=false) and 3.2.11 (yjit=true), the matrix JSON theplanstep emits for both cases, and YAML parsing of the workflow. The workflow itself hasn't run.https://claude.ai/code/session_01BFx21Nhpz1gdB1iNi3ZpT9