Skip to content

ci: deploy nightly only from ready-for-review PRs, one deploy at a time - #14

Merged
reecelikesramen merged 1 commit into
mainfrom
claude/nightly-ready-only
Sep 27, 2026
Merged

reecelikesramen merged 1 commit into
mainfrom
claude/nightly-ready-only

Conversation

@reecelikesramen

Copy link
Copy Markdown
Contributor

Before: any push to any branch that touched site/ or worker/ deployed nightly.pywire.dev, draft or not, and several deploys could run at once. Whichever branch was pushed last won nightly.

After: pushes to main deploy production. Nightly only deploys same-repo PRs that are ready for review, when they're opened, pushed to, reopened or marked ready. Draft PRs and bare branch pushes never deploy. Production and nightly each run strictly one deploy at a time. A running deploy is never cancelled, and while it runs only the newest waiting deploy is kept.

How:

  • deploy.yml triggers on push to main and on pull_request (opened, reopened, synchronize, ready_for_review), both limited to site/**.
  • The job's if skips draft and fork PRs.
  • Job-level concurrency: deploy-landing-<main|nightly> with cancel-in-progress: false. It's at job level so skipped draft runs never enter the queue and displace a real deploy.
  • PR deploys check out the PR head, not GitHub's merge preview.
  • worker/** no longer triggers a site rebuild, because the worker ships through Terraform (Infra apply), not this workflow.
  • workflow_dispatch still works: main goes to production and any other ref goes to nightly.

Note: the camera story hero (#10) is a draft, so it won't deploy to nightly after this merges until it's marked ready for review.

🤖 Generated with Claude Code


Generated by Claude Code

Any push to any branch touching site/ or worker/ deployed nightly, so the
last pushed branch (drafts included) won nightly.pywire.dev. Now main
pushes deploy production, and nightly only takes same-repo PRs that are
ready for review (opened, pushed to, reopened or marked ready). Deploys
are serialized per target with job-level concurrency, so skipped draft
runs never join the queue. worker/ no longer triggers a site rebuild: the
worker ships through Terraform (Infra apply), not this workflow.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019zvQroKUenHLEvKVy39PPR
@reecelikesramen
reecelikesramen marked this pull request as ready for review September 27, 2026 02:03
@reecelikesramen
reecelikesramen merged commit 5e6a210 into main Sep 27, 2026
1 check passed
@reecelikesramen
reecelikesramen deleted the claude/nightly-ready-only branch September 30, 2026 18:14
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.

2 participants