Use Ruby 3.4.9 and re-bundle - #729
Conversation
| DEPENDENCIES | ||
| activesupport (~> 8.1) | ||
| buildkite-test_collector (~> 2.3) | ||
| bundler (~> 2.0) |
There was a problem hiding this comment.
I think this came from the old gem generator. But we don't need to define an explicit dependency on Bundler. As far as I know, we don't use any of its API directly.
Removing the Bundler dependency definition allows us to use the latest bundler version (4.x vs 2.x). Additionally, it is no longer recommended to use the dev dependencies API, it's best to use Gemfile instead. See rubygems/bundler#7222
This image supports Ruby 3.4.9 and it's better than 27.0-beta which may not stick around.
fa05c27 to
cab3b32
Compare
There was a problem hiding this comment.
Pull request overview
Updates the repository’s Ruby/tooling baseline to Ruby 3.4.9 and refreshes bundler artifacts to address native-extension/toolchain friction during releases.
Changes:
- Bump the repo Ruby version to
3.4.9and adjust Buildkite shared variables/toolchain image accordingly. - Move development/test/tooling gems from the gemspec into the
Gemfile, and re-bundle (including a Bundler version update inGemfile.lock). - Adjust the Faraday constraint used alongside Fastlane.
Reviewed changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
Gemfile.lock |
Re-bundled dependencies; updates dependency list and BUNDLED WITH version. |
Gemfile |
Centralizes development/test/tooling dependencies (activesupport/rspec/rubocop/etc.) and pins Faraday for Fastlane compatibility. |
fastlane-plugin-wpmreleasetoolkit.gemspec |
Removes development dependencies; keeps runtime dependencies (including Fastlane) in the gemspec. |
.ruby-version |
Switches the repo’s Ruby version to 3.4.9. |
.buildkite/shared-pipeline-vars |
Updates Xcode image and slightly refactors Ruby version export used for CI/docker image selection. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| export RUBY_VERSION="$(cat "$SCRIPT_DIR/../.ruby-version")" | ||
| RUBY_VERSION="$(cat "$SCRIPT_DIR/../.ruby-version")" | ||
| export RUBY_VERSION |
There was a problem hiding this comment.
ShellCheck told me about this.
| spec.add_development_dependency 'rspec_junit_formatter', '~> 0.4.1' | ||
| spec.add_development_dependency 'rubocop', '~> 1.65' | ||
| spec.add_development_dependency 'rubocop-rspec', '3.0' | ||
| spec.add_development_dependency 'simplecov', '~> 0.16.1' |
There was a problem hiding this comment.
add_development_dependency is a valid setting and the Bundler team rejected a proposal to deprecated it.
The docs are somewhat ambiguous:
Gemfile: Manages gem dependencies for development. Contains a gemspec line meaning that Bundler will include dependencies specified in foodie.gemspec too. It’s best practice to specify all dependencies in the gemspec.
Happy to revert if we find this confusing. In which case, though, we should also move the remaining gems from Gemfile to here.
I wanted to ship a new version after merging #757 , but run into the nokogiri-3.2.2-Xcode native extension clash.
Given adopting #757 is not super urgent, I decided to detour and (finish the work already started to) support Ruby 3.4.9 in this repo.