Rubocop (only on Circleci builds) sometimes complains of outdated configuration (there is none)

In our builds (which have been executing on circleci for many years) we have a step which runs rubocop: bundle exec rubocop --format quiet

Recently these have been failing episodically (unpredictably) with some kind of outdated configuration complaint. “Rerun from failed” makes the error go away.

Here’s an example output:

Error: `Performance` cops have been extracted to the `rubocop-performance` gem.
(obsolete configuration found in .rubocop_todo.yml, please update it)
`Rails` cops have been extracted to the `rubocop-rails` gem.
(obsolete configuration found in .rubocop_todo.yml, please update it)

Exited with code exit status 2

All the examples I’ve seen are running with the v2 container runtime (Docker Executor Infrastructure Upgrade) however it also runs ok in the v2 container runtime and most of our runs now use this, so I’m not convinced it’s linked.

However I can’t work out what’s going on - I would expect a rubocop run to be totally deterministic. Is there any chance I should be using rubocop with the “–no-server” flag on circleci?

Apologies - nothing to do with CircleCI. It’s a rubocop issue, solved in rubocop:master:

1 Like