Skip to content

chore(ci): delete the unsafe audit that cannot fail - #7

Merged
h4x0r merged 1 commit into
mainfrom
chore/drop-dead-geiger
Aug 19, 2026
Merged

chore(ci): delete the unsafe audit that cannot fail#7
h4x0r merged 1 commit into
mainfrom
chore/drop-dead-geiger

Conversation

@h4x0r

@h4x0r h4x0r commented Aug 19, 2026

Copy link
Copy Markdown
Contributor
- run: cargo geiger 2>&1 || true
  continue-on-error: true

|| true on the step and continue-on-error on the job. This check has never been capable of reporting anything. It is also a sibling of the shared-workflow call rather than a job inside it, so ci / All checks never reached it and branch protection never required it. Eighteen repos carried a byte-identical copy; safe-read a nineteenth.

Deleting rather than fixing

A working exit code would not help. Where unsafe_code = "forbid" is in force, unsafe is a compile error — a job asserting its absence still could not fail. That is the same defect with a healthier appearance.

The real control now exists

Unsafe lint audit in the shared workflow asserts that every workspace member effectively forbids or denies unsafe_code — the part the compiler cannot tell you:

  • a member with no [lints] table does not inherit workspace lints; inheritance is opt-in via [lints] workspace = true
  • a member with its own [lints] table replaces inheritance rather than extending it

Either way it compiles with unsafe permitted while the workspace root still reads compliant. That job lives inside the gate, is required by branch protection, and found five unprotected published crates on its first run across the fleet.

A check that cannot fail is worse than no check: it reads as coverage that does not exist.

    - run: cargo geiger 2>&1 || true
      continue-on-error: true

`|| true` on the step and `continue-on-error` on the job: this check has never
been capable of reporting anything. It is also a SIBLING of the shared-workflow
call rather than a job inside it, so `ci / All checks` never reached it and
branch protection never required it. Eighteen repos carried a byte-identical
copy.

Deleting rather than fixing, because a working exit code would not help. Where
`unsafe_code = "forbid"` is in force, `unsafe` is a compile error, so a job
asserting its absence still could not fail -- the same defect with a healthier
appearance.

The real control is now in the shared workflow: `Unsafe lint audit` asserts
that every workspace member EFFECTIVELY forbids or denies `unsafe_code`, which
is the part the compiler cannot tell you. A member with no `[lints]` table does
not inherit workspace lints (inheritance is opt-in via `[lints] workspace =
true`), and a member with its own `[lints]` table replaces inheritance rather
than extending it. Either way it compiles with `unsafe` permitted while the
workspace root still reads compliant. That check lives inside the gate, is
required by branch protection, and found five unprotected published crates on
its first run.

A check that cannot fail is worse than no check: it reads as coverage that does
not exist.
@h4x0r
h4x0r merged commit 1b37f2e into main Aug 19, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant