chore(ci): repin fleet-ci to the revision that gates the unsafe lint - #11
Merged
Conversation
Moves this repo from 9234e1fa to 85c7263, which adds two things it did not have. `Unsafe lint audit` is a new job INSIDE the aggregate gate. It asserts that every workspace member EFFECTIVELY forbids or denies `unsafe_code` -- the part the compiler cannot tell you. Cargo does not apply workspace lints implicitly: a member with no `[lints]` table does not inherit them, and a member with its own `[lints]` table replaces inheritance rather than extending it. Either way the crate compiles with `unsafe` permitted while the workspace root still reads compliant. Surveying the root scores such a repo green, which is how five published crates across two repos went unnoticed until this check existed. It replaces the `Unsafe Audit (cargo-geiger)` job that eighteen repos carried as a SIBLING of the shared-workflow call. That job could not fail -- `|| true` on the step and `continue-on-error` on the job -- and, being a sibling rather than a job inside the reusable workflow, `ci / All checks` never reached it and branch protection never required it. The coverage job also gains `coverage-metric` (lines | functions | both) and `coverage-include-regex`, which let a repo gate on functions or hold one path at 100% while the rest carries tracked debt. Both default to today's behaviour, so this repo's coverage posture is unchanged unless it opts in. No repo-side change is needed: the whole fleet already passes the unsafe audit. This revision also bounds every job with `timeout-minutes` and retries `apt-get update` behind a 300s timeout. Nothing had a ceiling before, so a hung apt consumed GitHub's full six-hour job limit across six repos yesterday and reported a red gate that looked like a code failure.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves this repo from
9234e1fato85c7263.Unsafe lint audit— a new job inside the gateIt asserts that every workspace member effectively forbids or denies
unsafe_code, which is the part the compiler cannot tell you. Cargo does not apply workspace lints implicitly:[lints]table does not inherit them[lints]table replaces inheritance rather than extending itEither way the crate compiles with
unsafepermitted while the workspace root still reads compliant. Surveying the root scores such a repo green — which is how five published crates across two repos went unnoticed until this check existed.It replaces the
Unsafe Audit (cargo-geiger)job that eighteen repos carried as a sibling of the shared-workflow call. That job could not fail (|| trueon the step,continue-on-erroron the job), and being a sibling rather than a job inside the reusable workflow,ci / All checksnever reached it and branch protection never required it.Coverage inputs
coverage-metric(lines|functions|both) andcoverage-include-regexlet a repo gate on functions, or hold one published path at 100% while the rest carries tracked debt. Both default to today's behaviour, so this repo's coverage posture is unchanged unless it opts in.Expected result
Green. The whole fleet already passes the unsafe audit — that was verified across all 92 repos with manifests before this sweep began.
Also in this revision
Every job now carries
timeout-minutes, andapt-get updateis retried behind a 300s timeout. Nothing had a ceiling before: a hung apt consumed GitHub's full six-hour job limit across six repos yesterday and produced a red gate that looked like a code failure. A newjob-timeout-minutesinput (default 45) lets a heavy repo raise the ceiling rather than remove it.