Shopify / shipit-engine

Deployment coordination
https://shopify.engineering/introducing-shipit
MIT License
1.41k stars 144 forks source link

Centralize Ruby Version to `.ruby-version` #1339

Closed jenshenny closed 5 months ago

jenshenny commented 5 months ago

What are you trying to accomplish?

The .ruby-version file is the ecosystem standard for defining a Ruby version. This PR adds the .ruby-version file, ensures a required_ruby_version is set, and removes all other references to Ruby in this repository, aligning it with the standard.

What should reviewers focus on?

[!IMPORTANT] Please verify the following before merging:

Verify that the changes in the PR meets the following requirements or adjust manually to make it compliant:

To establish consistency, the required_ruby_version is set to 3.0. If you think that another version is a better fit, please make the applicable changes.

Please merge this PR if it looks good, this PR will be addressed if there isn't any activity after 4 weeks.

casperisfine commented 5 months ago

There is no TargetRubyVersion defined in rubocop.yml

This should not apply to open source nor to libraries in general. Contrary to apps, they support multiple Ruby versions.

jenshenny commented 5 months ago

In RuboCop 1.61.0, this value will be read from required_ruby_version and will take the oldest supported version from that spec. https://github.com/rubocop/rubocop/pull/12645. This will remove having to update the value when you want to update the minimum supported version.

If you do not want to update Rubocop for this feature due to the other changes it causes, I'll remove the changes related to RuboCop.

casperisfine commented 5 months ago

If you do not want to update Rubocop for this feature due to the other changes it causes, I'll remove the changes related to RuboCop.

Yeah it's fine, let's keep a minor duplication for now. I'll update Rubocop when it makes sense.

jenshenny commented 5 months ago

Sweet! I removed the Rubocop bump ✅