fix(ci): unblock the deploy chain and remove the promotion-dedup gate#5881
Conversation
…nstream of test-build test-build's needs chain now contains dedup-promotion, which is skipped on every push event. A skipped transitive ancestor fails the implicit success() on downstream jobs, so migrate, promote-images, create-ghcr-manifests, process-docs, and create-release all cascade-skipped on push runs — blocking staging and main deploys (no ECR tag push, no CodeDeploy). Each of those jobs now uses !cancelled() plus explicit needs.<job>.result == 'success' checks, preserving their original semantics while ignoring the skipped ancestor.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
PR SummaryMedium Risk Overview
Hardens the deploy chain so a skipped ancestor cannot silently cascade again: Reviewed by Cursor Bugbot for commit 0f31882. Configure here. |
Greptile SummaryThis PR restores the deployment chain after the promotion-deduplication gate blocked push workflows. The main changes are:
Confidence Score: 5/5This looks safe to merge.
Important Files Changed
Reviews (2): Last reviewed commit: "chore(ci): remove the promotion-dedup ga..." | Re-trigger Greptile |
…ploy-graph complexity The bespoke dedup job hand-rolled what content-addressed caching solves idiomatically, saved only ~$50-90/mo, and its needs edge just caused the deploy-chain skip incident. test-build returns to its original shape; the explicit need-result conditions on the deploy chain stay as hygiene.
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 0f31882. Configure here.
Summary
Migrate DB→Promote Images→ downstream, so no ECR tags were pushed and CodeDeploy never fired (deploys silently blocked while runs reported success). Root cause:test-buildgainedneeds: [dedup-promotion], that job skips on push events, and GitHub fails the implicitsuccess()of any job with a skipped transitive ancestorneedsedge caused this outage — the complexity isn't worth it.test-buildreturns to its exact pre-improvement(tests+ci): phase 3 — shared-mock convergence completion and CI runner-minute cuts #5875 shape. If we want the saving later, the right mechanism is sharing the turbo cache across trusted same-repo events (cache-hit no-ops, zero workflow logic)migrate,promote-images,create-ghcr-manifests,process-docs,create-releasenow state their need requirements explicitly (!cancelled()+needs.<job>.result == 'success') with a comment recording the failure mode, so an implicit-success cascade can never silently break the deploy chain againType of Change
Testing
YAML validated. Diagnosis verified against run history: the five skipped jobs are exactly test-build's transitive descendants;
Build AMD64(not a descendant) ran normally; the last pre-#5875 main run executed Migrate/Promote fine. After merge, the staging push run must show Migrate DB + Promote Images running — verifying that live before promoting to main.Checklist