Skip to content

fix(deploy): keep skipped runs from cancelling queued deploys - #531

Merged
harlan-zw merged 1 commit into
mainfrom
fix/deploy-signer-retry
Oct 7, 2026
Merged

harlan-zw merged 1 commit into
mainfrom
fix/deploy-signer-retry

Conversation

@harlan-zw

Copy link
Copy Markdown
Collaborator

🔗 Linked issue

No linked issue.

❓ Type of change

  • 📖 Documentation
  • 🐞 Bug fix
  • 👌 Enhancement
  • ✨ New feature
  • 🧹 Chore
  • ⚠️ Breaking change

📚 Description

Production is one commit behind main: #526 never deployed. Every completed Test run starts Deploy to Cloudflare, including pull request runs and cancelled main runs. Those runs skip their deploy job, but they still joined the deploy-cloudflare-site concurrency group. GitHub keeps one pending run per group, and a newer run replaces it. At 02:43:00 UTC on 7 October the deploy for #526 was waiting behind a rerun. At 02:43:20 a pull request's Test run finished, its skipped run took the slot, and the #526 deploy was cancelled. The same thing cancelled a queued deploy at 02:35:56.

Only a successful main push can deploy. Every other workflow_run now takes a concurrency group of its own, so it can no longer reach the deploy queue. Dispatch runs keep their groups.

The rerun was needed because the Artifact signer deploy failed once with Cloudflare API code 10013 ("An unknown error has occurred"). It is the only Cloudflare API deploy failure in the 167 deploys since 14 September, and a rerun passed. scripts/lib/cloudflare-retry.ts now retries a transient Cloudflare API fault twice, after 15 and 45 seconds. A transient fault is an API unknown error, a 5xx answer, or a dropped connection. Authentication and configuration errors fail at once. The signer step runs through the new pnpm production:deploy-signer, and the site deploy wraps its wrangler command with the same retry.

📝 Migration

Merging this deploys main, which includes #526.

🤖 AI disclosure: Harlan Agent Kit modified this description. My AI open-source policy.

Every completed Test run starts Deploy to Cloudflare, including pull
request runs and cancelled main runs. Their deploy job skips, but they
still joined the deploy concurrency group, and a newer pending run
replaces the one waiting there. On 2026-10-07 a pull request's run
cancelled the queued deploy of #526, so production stayed one commit
behind main. Only a successful main push can deploy, so every other run
now takes a group of its own.

The same day the Artifact signer deploy failed once with Cloudflare API
code 10013 and passed on a rerun. Both wrangler deploy paths now retry a
transient Cloudflare API fault twice, after 15 and 45 seconds. Any other
failure stops the job at once.
@harlan-zw harlan-zw added the harlan-agent-review Pull request triage requires an adversarial Review. Adding this label manually always forces one. label Oct 7, 2026
@harlan-github-agent harlan-github-agent Bot added harlan-agent-review-required Pull request triage requires an adversarial Review for this head commit. and removed harlan-agent-review Pull request triage requires an adversarial Review. Adding this label manually always forces one. labels Oct 7, 2026
@harlan-zw
harlan-zw merged commit 004ec7c into main Oct 7, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

harlan-agent-review-required Pull request triage requires an adversarial Review for this head commit.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant