Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: pin rubocop to 1.12 due to error with ruby 2.4
Rubocop 1.13 was released today (2021-04-20) and it has dropped support for Ruby 2.4[1][2]. This causes rubocop to die on the spot when trying to run it: $ bundle exec rubocop --version 1.13.0 $ bundle exec rubocop Error: RuboCop found unsupported Ruby version 2.4 in `TargetRubyVersion` parameter (in .rubocop.yml). 2.4-compatible analysis was dropped after version 1.12. Supported versions: 2.5, 2.6, 2.7, 3.0 And thus the "style_check" ci job is currently broken[3]. Rubocop 1.10 and 1.11 don't work either because of a rename: $ bundle exec rubocop Error: unrecognized cop Style/StringChars found in .rubocop.yml Did you mean `Style/StringMethods`? The latter and arguably the former are breaking changes on minor versions, which means that rubocop does not follow semantic versioning[4][5]. Additionally, the gem was already pinned on a minor version on commit fe64d98 ("style: add rubocop 1.9 cops (jekyll#8567)"), but commit c9c9dc7 ("chore(deps): rubocop 1.10") pinned it only on the major version (see also issue jekyll#8583)[6]. This back-and-forth happened more than once: * 2016-10-18: nil to "~> 0.44.1" on commit cc19728 ("Restrict Rubocop version") * 2017-01-14: "~> 0.44.1" to "~> 0.46" on commit 4432482 ("bump Rubocop to latest version") * 2017-03-28: "~> 0.47" to "~> 0.47.1" on commit 86703f1 ("Use Rubocop v0.47.1 till we're ready for v0.48") * 2020-10-21: "~> 0.93.0" to "~> 1.0" on commit 1ae2a1d ("Bump RuboCop to v1.x") * 2021-01-31: "~> 1.0" to "~> 1.8.1" on commit d460fae ("Pin rubocop version (jekyll#8564)") * 2021-02-19: "~> 1.9.1" to "~> 1.10" on commit c9c9dc7 ("chore(deps): rubocop 1.10") The above can be checked with one of the following commands: $ tig '-G"rubocop"' -- Gemfile # or $ git log -p '-G"rubocop"' -- Gemfile So pin rubocop back on a minor version: the 1.12 series. Example of another project doing something similar (found on [2]): Shopify/job-iteration[7]. Fixes jekyll#8649. [1] https://github.com/rubocop/rubocop/releases/tag/v1.13.0 [2] rubocop/rubocop#9648 [3] jekyll#8649 [4] https://semver.org/ [5] rubocop/rubocop#4243 [6] https://guides.rubygems.org/patterns/#declaring-dependencies [7] Shopify/job-iteration#79
- Loading branch information