8000 Pin rubocop version by tejasbubane · Pull Request #8564 · jekyll/jekyll · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Pin rubocop version #8564

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

Merged
merged 1 commit into from
Jan 31, 2021
Merged

Pin rubocop version #8564

merged 1 commit into from
Jan 31, 2021

Conversation

tejasbubane
Copy link
Contributor

This is a CI fix

Summary

To fix current CI failures.

Context

Rubocop 1.9 had a bug which caused rubocop to crash when inspecting one of jekyll's files. Since jekyll had rubocop ~> 1.0, CI would automatically pull up latest version.

To fix this, pin minor version too. Upgrade rubocop as and when required.

To fix CI failures, upgrade as and when required.
@ashmaroli
Copy link
Member

Thank you @tejasbubane
@jekyllbot: merge +dev

@jekyllbot jekyllbot merged commit d460fae into jekyll:master Jan 31, 2021
jekyllbot added a commit that referenced this pull request Jan 31, 2021
github-actions bot pushed a commit that referenced this pull request Jan 31, 2021
Tejas Bubane: Pin rubocop version (#8564)

Merge pull request 8564
github-actions bot pushed a commit to chauncey-garrett/jekyll that referenced this pull request Jan 31, 2021
jekyllbot: Update history to reflect merge of jekyll#8564 [ci skip]
github-actions bot pushed a commit to tigefa4u/jekyll that referenced this pull request Jan 31, 2021
jekyllbot: Update history to reflect merge of jekyll#8564 [ci skip]
github-actions bot pushed a commit to X-EcutiOnner/jekyll that referenced this pull request Jan 31, 2021
jekyllbot: Update history to reflect merge of jekyll#8564 [ci skip]
github-actions bot pushed a commit to patilswapnilv/jekyll that referenced this pull request Jan 31, 2021
jekyllbot: Update history to reflect merge of jekyll#8564 [ci skip]
@tejasbubane tejasbubane deleted the pin-rubocop branch February 6, 2021 10:50
kmk3 added a commit to kmk3/jekyll that referenced this pull request Apr 23, 2021
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
@jekyll jekyll locked and limited conversation to collaborators Mar 22, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants
0