fix(notify): continue verified recovery chain#119
Conversation
Evaluate every dual-path publication job after the recovery-only attestation job is intentionally skipped. Require all direct predecessors to succeed before staging, rollout, or finalization, and make public verification fail when any required job failed or was skipped.
📝 WalkthroughWalkthroughChangesPublication gating
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 7✅ Passed checks (7 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
@coderabbitai review |
✅ Action performedReview finished.
|
Summary
Failure evidence
Recovery run
29334987744was bound tomain@ba91d4d72785b5101bf2c53d446a6ebcea8b3d72. Publication safety, notify tests, the owner gate, immutable image recovery, image selection, and binary-attestation selection succeeded. The tag-onlyAttest Release Binariesjob was correctly skipped, but GitHub propagated that skip through the implicit job-level success condition, so draft staging, rollout, finalization, and public verification were all skipped.The workflow reported success, but release draft
353712477remained unpublished with zero assets and its staging body unchanged. No registry, draft, release, rollout, or public-state mutation occurred in this recovery run.Security and compatibility
Verification
ruby -c .github/scripts/notify-publish-safety.rbruby .github/scripts/notify-publish-safety.rbactionlint1.7.12 with ShellCheck 0.10.0zizmor --offline .github/workflows/docker.yml1.26.1: no findingscd notify && GOTOOLCHAIN=local go test ./... -count=1git diff --checkRelease truth
Helper publication remains incomplete until a new exact-main recovery run passes immutable image and binary verification, draft staging, the published upgrade/rollback/forward-recovery proof, finalization, and public read-only verification.