Summary
The ruby-style job in the baseline .github/workflows/pr_tests.yml is declared
continue-on-error: true, so rubocop failures never fail a PR. The job runs, goes
red internally, and the check reports success. Rubocop is effectively advisory across
the whole fleet.
Surveyed 2026-07-27: 78 repos carry the unconditional form.
ruby-style:
name: 'Ruby Style'
runs-on: ubuntu-latest
continue-on-error: true # <-- remove this
⚠️ Do not strip continue-on-error blindly
There are two distinct uses in this workflow and only one is a bug:
| Occurrence |
Repos |
Action |
ruby-style: job → continue-on-error: true |
78 |
remove — this is the bug |
parallel_spec step → continue-on-error: ${{matrix.puppet.experimental}} |
75 |
keep — this gates the Ruby 4 / OpenVox 9 preview matrix entry |
74 repos have both. A sweep matching on continue-on-error alone would take out the
OpenVox 9 preview along with the rubocop gate. Match on the literal job-level
continue-on-error: true only.
Why this should be one pass
No SIMP-maintained repo parks known violations: 0 of the 78 have a
.rubocop_todo.yml. (37 repos in the org do have one, but they are all vendored/forked
modules — augeasproviders_*, pupmod-voxpupuli-*, inspec_tools,
binford2k-node_encrypt — and none of them uses this pr_tests.yml baseline.)
Combined with the historical per-module "Clean up for rubocop" commits, the fleet is
plausibly already clean, so flipping the gate should stay green.
Absence of a todo file is not proof of zero offenses, though — it is only knowable by
running rubocop. Suggest landing the change on one pilot module and confirming the
Ruby Style job passes before the full sweep.
Blocked on
#42 — needs puppetsync working again before this can be rolled out.
Consolidates
Filed per-module on a sample of repos before this was understood as a baseline issue;
those are being closed in favor of this one:
Summary
The
ruby-stylejob in the baseline.github/workflows/pr_tests.ymlis declaredcontinue-on-error: true, so rubocop failures never fail a PR. The job runs, goesred internally, and the check reports success. Rubocop is effectively advisory across
the whole fleet.
Surveyed 2026-07-27: 78 repos carry the unconditional form.
continue-on-errorblindlyThere are two distinct uses in this workflow and only one is a bug:
ruby-style:job →continue-on-error: trueparallel_specstep →continue-on-error: ${{matrix.puppet.experimental}}74 repos have both. A sweep matching on
continue-on-erroralone would take out theOpenVox 9 preview along with the rubocop gate. Match on the literal job-level
continue-on-error: trueonly.Why this should be one pass
No SIMP-maintained repo parks known violations: 0 of the 78 have a
.rubocop_todo.yml. (37 repos in the org do have one, but they are all vendored/forkedmodules —
augeasproviders_*,pupmod-voxpupuli-*,inspec_tools,binford2k-node_encrypt— and none of them uses thispr_tests.ymlbaseline.)Combined with the historical per-module "Clean up for rubocop" commits, the fleet is
plausibly already clean, so flipping the gate should stay green.
Absence of a todo file is not proof of zero offenses, though — it is only knowable by
running rubocop. Suggest landing the change on one pilot module and confirming the
Ruby Stylejob passes before the full sweep.Blocked on
#42 — needs
puppetsyncworking again before this can be rolled out.Consolidates
Filed per-module on a sample of repos before this was understood as a baseline issue;
those are being closed in favor of this one: