Skip to content

A stable check name for the per-package floor runs - #20

Merged
usetheodev merged 1 commit into
mainfrom
workspace
Aug 27, 2026
Merged

A stable check name for the per-package floor runs#20
usetheodev merged 1 commit into
mainfrom
workspace

Conversation

@usetheodev

Copy link
Copy Markdown
Contributor

Workflow-only — no @theokit/dep-check release.

floor-per-package names itself after its matrix entry, which is what makes a failure legible: the run that just found a real defect in theokit-sdk reported itself as "@theokit/sdk@4.53.1, the floor only some packages claim", and that is readable without opening anything.

Two costs come with that:

  • the name changes with the repository's declared ranges, so it can never be a required check;
  • an empty matrix renders the uninterpolated ${{ matrix.run.dep }} in the UI, which is what theokit-ui and theokit show right now.

floors the shared pin cannot reach — result has one name, always reports, and fails if any entry failed. It is the one to mark required in branch protection.

The case it exists to catch

A matrix that was skipped while the plan found floors to exercise. That reads as a pass and is a gap. if: always() is deliberate for the same reason — a required check that never reports is indistinguishable from one that passed, and blocks the pull request forever.

Six cases checked against the branching before committing:

plan count matrix result verdict
success 0 skipped pass — nothing to exercise
success 2 success pass
success 2 failure fail
success 2 skipped fail — the gap
success 2 cancelled fail
failure fail

Context

This is the first release where the per-package leg ran in anger, and it found a real defect immediately: @theokit/sdk-memory declares >=4.53.1, and every @theokit/sdk below 4.54.0 publishes .d.ts files that do not typecheck — 6 to 7 errors across nine sampled versions. Details in theokit-sdk#423.

zizmor: no findings.

`floor-per-package` names itself after its matrix entry, which is what makes
a failure legible — you see WHICH floor broke without opening anything. Two
costs come with that: the name changes with the repository's declared
ranges, so it can never be a required check, and an empty matrix renders the
uninterpolated `${{ matrix.run.dep }}` in the UI.

This job has one name, always reports, and fails if any entry failed.

The case it exists to catch is the one that reads as a pass: a matrix that
was SKIPPED while the plan found floors to exercise. `skipped` is a gap, not
a success, and a required check that never reports is indistinguishable from
one that passed — which is why the `if` is `always()`.

Six cases checked against the branching before committing: count zero with
a skipped matrix passes; success passes; failure, skipped-with-work,
cancelled, and a failed plan each fail.
@usetheodev
usetheodev merged commit a22d530 into main Aug 27, 2026
7 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.

2 participants