Skip to content

#286 align rake matrix and gemspec to Ruby 3.2+#306

Open
edmoffo wants to merge 2 commits into
zerocracy:masterfrom
edmoffo:286-align-ruby-versions
Open

#286 align rake matrix and gemspec to Ruby 3.2+#306
edmoffo wants to merge 2 commits into
zerocracy:masterfrom
edmoffo:286-align-ruby-versions

Conversation

@edmoffo

@edmoffo edmoffo commented May 24, 2026

Copy link
Copy Markdown
Contributor

Closes #286. The gemspec advertised >=3.0 while .github/workflows/rake.yml only ran the matrix on 3.3, leaving every advertised version between 3.0 and 3.3 untested on master. The README already states 3.2+ as the contribution prerequisite and the rubocop config targets 3.2, so 3.2 is the de-facto floor everywhere except the gemspec and the matrix.

The matrix is now [3.2, 3.3] so both advertised versions run on every push, and s.required_ruby_version is '>=3.2' so the gemspec agrees with the matrix, the README, and the rubocop target. No source files change, no public signatures change, no test was added because nothing in the library code moved.

Local checks were limited to confirming the diff applies cleanly on top of origin/master and that the modified workflow passes yamllint against the project's .yamllint.yml rules; the full bundle exec rake suite is left to CI on both rows of the new matrix.

edmoffo added 2 commits May 24, 2026 00:23
The gemspec advertised `>=3.0` while the rake workflow only ran on
`3.3`, leaving every advertised version between 3.0 and 3.3 untested
on master. The README already states 3.2+ as the contribution
prerequisite and the rubocop config targets 3.2, so 3.2 is the
de-facto floor.

Widen the matrix to `[3.2, 3.3]` so both advertised versions run on
every push, and lift `s.required_ruby_version` to `'>=3.2'` so the
gemspec agrees with the matrix, the README, and the rubocop target.
…quirements

The first attempt widened the matrix to `[3.2, 3.3]` and lowered the
gemspec to `>=3.2`. CI on `rake (macos-15, 3.2)` failed during
`bundle install` because `random-port-0.8.2` (a transitive dev
dependency) declares `>= 3.3`, so 3.2 cannot install the lockfile and
3.2 is not a viable floor.

Restore the matrix to `[3.3]`, raise `s.required_ruby_version` to
`'>=3.3'` so the gemspec matches the only version CI actually
exercises, and lift the README contribution prerequisite from `3.2+`
to `3.3+` so the three places that name a minimum version agree.

@bibonix bibonix left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The diff resolves the gemspec-vs-matrix mismatch in #286, but the description and the change disagree on which version is the floor: the title and body say 3.2 and assert the gemspec is '>=3.2' and the matrix is [3.2, 3.3], while the diff sets required_ruby_version to '>=3.3', bumps the README to 3.3+, and leaves .github/workflows/rake.yml at [3.3]. Either rewrite the body to describe the actual 3.3 floor (and bump .rubocop.yml's TargetRubyVersion accordingly), or change the diff back to a 3.2 floor with the wider matrix. Two inline comments on the misalignments.

Comment thread baza.rb.gemspec
Gem::Specification.new do |s|
s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to? :required_rubygems_version=
s.required_ruby_version = '>=3.0'
s.required_ruby_version = '>=3.3'

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR body says s.required_ruby_version is '>=3.2', and the title is align rake matrix and gemspec to Ruby 3.2+, but this value is '>=3.3'. Pick one: keep '>=3.3' and update the title and body to match, or change to '>=3.2' and widen the matrix in .github/workflows/rake.yml to [3.2, 3.3] so both advertised versions actually run.

Suggested change
s.required_ruby_version = '>=3.3'
s.required_ruby_version = '>=3.2'

Comment thread README.md
Make sure your build is green before you contribute
your pull request. You will need to have
[Ruby](https://www.ruby-lang.org/en/) 3.2+ and
[Ruby](https://www.ruby-lang.org/en/) 3.3+ and

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Raising the README floor to 3.3+ leaves .rubocop.yml:TargetRubyVersion: 3.2 inconsistent with the rest of the contract, and the body's claim that the README states 3.2+ no longer holds after the diff. If 3.3 is the intended floor, also bump TargetRubyVersion to 3.3; otherwise keep the README at 3.2+ and align the gemspec and matrix to that floor.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

rake CI matrix runs only Ruby 3.3 while gemspec declares >=3.0

2 participants