Skip to content

ci: gate crates publication on the release revision's CI result - #130

Merged
e54-bot merged 2 commits into
mainfrom
gh-125-release-ci-gate
Oct 24, 2026
Merged

e54-bot merged 2 commits into
mainfrom
gh-125-release-ci-gate

Conversation

@e54-bot

@e54-bot e54-bot commented Oct 24, 2026

Copy link
Copy Markdown
Contributor

Refs #125

What changed

  • release-plz-crates.yml: new required required-check-runs input (comma-separated check-run names); new release-ci-gate job between package-preflight and release that polls the check-runs API for those names on github.sha. release now needs both jobs.
  • docs/release-engineering.md: records the encoded gate mechanism and the caller checks: read requirement.

Gate semantics (all paths exercised locally with a stubbed gh api): PASS on completed/success, continue on queued/in_progress/pending/missing, immediate fail on any other conclusion or API error, refuse an empty input, hard deadline at 40 minutes (timeout-minutes: 45).

Ordering

This merges first. Callers (workshop-rs, opy-rs) then pass required-check-runs and add checks: read to their permissions — the gate fails closed if they don't, which is the intended enforcement. deltin-rs is paused per its issue scope.

Verification

  • actionlint v1.7.12 clean; bash -n on the embedded script; functional walk-through of all six outcomes (success, mixed pending, failure, empty input, API error, timeout).
  • Required input is a breaking caller change by design: sibling caller PRs land immediately after.

Add a required `required-check-runs` input to release-plz-crates.yml and
a `release-ci-gate` job between `package-preflight` and `release`. The
gate polls the check-runs API for the named checks on the release
revision, waits while they are pending, passes only on `success`, and
fails fast on any other conclusion or after a 40-minute deadline, so
publication and tag creation cannot run ahead of the caller's
authoritative CI result.

Callers pass their gate check names and grant `checks: read` on the
reusable call; the mechanism is documented in release-engineering.md.

Refs #125
@e54-bot
e54-bot requested a review from Teakowa as a code owner October 24, 2026 22:59
@e54-bot
e54-bot merged commit 6b93b79 into main Oct 24, 2026
1 check passed
@e54-bot
e54-bot deleted the gh-125-release-ci-gate branch October 24, 2026 23:09
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