unixcharles / acme-client

A Ruby client for the letsencrypt's ACME protocol.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

acme-client's .rubocop.yml has a bad config value, causes error on CI

danbernier opened this issue · comments

...this one is admittedly a little complex, and I'm not sure of the right fix, or if this repo is the place to fix it.

My project uses acme-client, and rubocop passes locally, but fails in CI, because the acme-client gem bundles its .rubocop.yml, which has this configuration:

Style/StringLiterals:
  Enabled: single_quotes

...which produces this error:

Error: Property Enabled of cop Style/StringLiterals is supposed to be a boolean and single_quotes is not.
RuboCop failed!

...which fails my build.

That cop configuration was introduced on December 28 2015, so I'm guessing rubocop changed along the way, but I haven't tracked it down to a commit yet.

I see two simple solutions:

  • Stop bundling .rubocop.yml into the acme-client gem (which also includes .github, .gitignore, and .rspec, though they don't seem to hurt anything)
  • Update acme-client's .rubocop.yml to configure Style/StringLiterals as Enabled: true and EnforcedStyle: single_quotes.

(Either of those should be a quick fix, though if another gem bundles its .rubocop.yml and has a similar misconfigured value, I'll still have a problem, so I'm looking into a way to configuring my rubocop on CI to avoid this.)

Have RuboCop ignore the vendor directory?

Have RuboCop ignore the vendor directory?

I tried that, but it still finds the .rubocop.yml in there. My hypothesis is that the logic for finding config files is different from the logic for finding files to lint.