Skip to content

fix(ci): unblock the deploy chain and remove the promotion-dedup gate#5881

Merged
waleedlatif1 merged 2 commits into
stagingfrom
fix/deploy-chain-skip
Jul 23, 2026
Merged

fix(ci): unblock the deploy chain and remove the promotion-dedup gate#5881
waleedlatif1 merged 2 commits into
stagingfrom
fix/deploy-chain-skip

Conversation

@waleedlatif1

@waleedlatif1 waleedlatif1 commented Jul 23, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Incident fix: since improvement(tests+ci): phase 3 — shared-mock convergence completion and CI runner-minute cuts #5875 merged (~19:31), push runs on staging and main cascade-skipped Migrate DBPromote Images → downstream, so no ECR tags were pushed and CodeDeploy never fired (deploys silently blocked while runs reported success). Root cause: test-build gained needs: [dedup-promotion], that job skips on push events, and GitHub fails the implicit success() of any job with a skipped transitive ancestor
  • Removal: the dedup gate itself is deleted (−133 lines). Post-incident assessment: it hand-rolled what content-addressed caching solves idiomatically, saved only ~$50–90/mo, and its needs edge caused this outage — the complexity isn't worth it. test-build returns 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)
  • Kept as hygiene: migrate, promote-images, create-ghcr-manifests, process-docs, create-release now 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 again

Type of Change

  • Bug fix

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

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

…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.
@vercel

vercel Bot commented Jul 23, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview, Comment Jul 23, 2026 4:21am

Request Review

@cursor

cursor Bot commented Jul 23, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Changes only CI orchestration but directly gates production/staging migrations, image promotion, and releases; incorrect job conditions could still block or mis-order deploys.

Overview
Restores staging/main deploys by removing the dedup-promotion job and dropping test-build’s dependency on it. That gate had been skipping duplicate test runs on promotion PRs, but on push events the job was skipped and GitHub’s implicit success() on transitive needs caused test-build and everything downstream (Migrate DB, Promote Images, etc.) to be skipped while the workflow still looked green—blocking ECR tag moves and CodeDeploy.

test-build is back to a simple branch/event if with no dedup logic.

Hardens the deploy chain so a skipped ancestor cannot silently cascade again: migrate, promote-images, create-ghcr-manifests, process-docs, and create-release now require !cancelled() and explicit needs.<job>.result == 'success' (plus their existing branch/output conditions), with a comment documenting the 2026-07-23 failure mode.

Reviewed by Cursor Bugbot for commit 0f31882. Configure here.

@greptile-apps

greptile-apps Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR restores the deployment chain after the promotion-deduplication gate blocked push workflows. The main changes are:

  • Removes the promotion-deduplication job and its dependency from test-build.
  • Restores direct test execution on staging and main pushes.
  • Adds explicit successful-prerequisite checks to deployment, manifest, documentation, and release jobs.

Confidence Score: 5/5

This looks safe to merge.

  • The skipped transitive dependency that blocked staging and main deployments is removed.
  • Direct result checks preserve the intended stop-on-failure behavior throughout the deployment chain.
  • No blocking issue remains in the updated workflow.

Important Files Changed

Filename Overview
.github/workflows/ci.yml Removes the skipped transitive dependency and makes deployment-chain prerequisites explicit.

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.
@waleedlatif1 waleedlatif1 changed the title fix(ci): unblock the deploy chain — explicit need results on jobs downstream of test-build fix(ci): unblock the deploy chain and remove the promotion-dedup gate Jul 23, 2026
@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@cursor review

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ 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.

@waleedlatif1
waleedlatif1 merged commit 26e4c30 into staging Jul 23, 2026
21 checks passed
@waleedlatif1
waleedlatif1 deleted the fix/deploy-chain-skip branch July 23, 2026 04:29
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.

1 participant