Skip to content

OUT-4184: make production deploy non-cancelable - #289

Merged
SandipBajracharya merged 2 commits into
masterfrom
OUT-4184-deploy-non-cancelable
Sep 15, 2026
Merged

SandipBajracharya merged 2 commits into
masterfrom
OUT-4184-deploy-non-cancelable

Conversation

@SandipBajracharya

Copy link
Copy Markdown
Collaborator

What

Follow-up to #288 (merged). Moves the deploy.yml concurrency from the workflow level to the deploy job, and flips cancel-in-progress to false.

Why

The merged version used workflow-level cancel-in-progress: true. That can cancel an in-flight production deploy when a newer push to master arrives — and if that newer push then fails a check, neither commit deploys, leaving production un-updated even though the earlier commit was good.

This is the same P1 Greptile flagged on the sibling Dropbox integration PR. #288's only Greptile review predated the switch to true, so it was never surfaced here.

Fix

  deploy:
    ...
    concurrency:
      group: deploy-production
      cancel-in-progress: false

Deploys now serialize (a newer push waits) and a running publish is never interrupted. No check-cancellation is lost that matters — merges to master are infrequent, and every one gets checked and deployed in order.

🤖 Generated with Claude Code

Move concurrency from the workflow to the deploy job with
cancel-in-progress: false. Workflow-level cancellation could stop an
in-flight deploy when a newer push arrived; if that push then failed a
check, neither commit deployed. Now deploys serialize and a running
publish is never interrupted.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 15, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
quickbooks-sync (dev) Ready Ready Preview Sep 15, 2026 9:37am UTC
quickbooks-sync Building Building Sep 15, 2026 9:37am UTC

Request Review

@linear-code

linear-code Bot commented Sep 15, 2026

Copy link
Copy Markdown

OUT-4184

@SandipBajracharya SandipBajracharya changed the title fix(OUT-4184): make production deploy non-cancelable OUT-4184: make production deploy non-cancelable Sep 15, 2026
@greptile-apps

greptile-apps Bot commented Sep 15, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

This PR appears safe to merge.

What we checked:

  • Active deploy cancellation: No. The deploy jobs share one queue, and cancel-in-progress is false.

Summary

Production deploys now wait for one another instead of canceling an active publish. Older queued runs check whether a newer commit is already on master and skip publishing when they are stale.

  • Moves production concurrency from the workflow to the deploy job.
  • Keeps active publishes running while newer deploys wait.
  • Skips stale queued runs before they publish older code.

Diagram

sequenceDiagram
    participant Push
    participant Checks
    participant Queue
    participant Git
    participant Prod
    Push->>Checks: Start checks
    Checks->>Queue: Passing run waits
    Queue->>Queue: Run one deploy without cancellation
    Queue->>Git: Fetch master tip
    alt Commit is current
        Queue->>Prod: Publish
        Prod-->>Queue: Done
    else Newer commit exists
        Queue->>Queue: Skip deploy
    end
Loading

Reviews (3) · Last reviewed commit: "fix(OUT-4184): skip deploy when a newer ..."

Comment thread .github/workflows/deploy.yml Resolved
With serial (non-cancelable) deploys, a slower older run could publish
after a newer one and leave production on stale code. Guard the deploy
step: if this run's commit is no longer the branch tip, skip it so only
the newest commit publishes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@SandipBajracharya

Copy link
Copy Markdown
Collaborator Author

@greptileai review again

Comment thread .github/workflows/deploy.yml Resolved
@SandipBajracharya

Copy link
Copy Markdown
Collaborator Author

@greptileai review

@SandipBajracharya
SandipBajracharya merged commit a0e30ef into master Sep 15, 2026
6 checks passed

This branch was successfully deployed

1 active deployment
dev — 3af748e5 Deployed Sep 15, 2026 by vercel[bot]
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