Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Centralize Ruby Version to .ruby-version #1339

Merged
merged 3 commits into from
Apr 9, 2024
Merged

Conversation

jenshenny
Copy link
Contributor

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:

  • .ruby-version file is present with the correct Ruby version defined
  • A required_ruby_version in your gemspec is set
  • There is no Ruby version present in the dev.yml Ruby task (before: - ruby: x.x.x, after: - ruby)
  • There is no Ruby version/requirement referenced in the Gemfile (no lines with ruby <some-version>)
  • A Gemfile.lock is built with the defined Ruby version
  • The version of Rubocop installed is 1.61.0 or greater
  • There is no TargetRubyVersion defined in rubocop.yml (reads from required_ruby_version on Rubocop 1.61.0)
  • There is no Ruby argument present in ruby/setup-ruby Github Actions that do not run on a Ruby matrix (no lines with ruby-version: “x.x”)

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.

@jenshenny jenshenny mentioned this pull request Apr 9, 2024
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I created a RuboCop TODO for now. I created a PR to fix these violations here #1340

Copy link
Contributor

Choose a reason for hiding this comment

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

Can we just stop bumping rubocop in open source repos, it always creates a mess.

These PRs ought to be simple changes, I don't want tons of rubocop pedantry with them.

.rubocop.yml Outdated
AllCops:
TargetRubyVersion: 3.0
Copy link
Contributor

Choose a reason for hiding this comment

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

Why are you removing this?

A

@casperisfine
Copy link
Contributor

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
Copy link
Contributor Author

In RuboCop 1.61.0, this value will be read from required_ruby_version and will take the oldest supported version from that spec. rubocop/rubocop#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.

it will be read from .ruby-version
@casperisfine
Copy link
Contributor

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
Copy link
Contributor Author

Sweet! I removed the Rubocop bump ✅

@casperisfine casperisfine merged commit a08f499 into main Apr 9, 2024
17 checks passed
@casperisfine casperisfine deleted the centralize_ruby_version branch April 9, 2024 19:26
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.

None yet

2 participants