Repository navigation
ci: deploy nightly only from ready-for-review PRs, one deploy at a time - #14
Merged
Merged
Conversation
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Before: any push to any branch that touched
site/orworker/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.ymltriggers onpushtomainand onpull_request(opened,reopened,synchronize,ready_for_review), both limited tosite/**.ifskips draft and fork PRs.concurrency: deploy-landing-<main|nightly>withcancel-in-progress: false. It's at job level so skipped draft runs never enter the queue and displace a real deploy.worker/**no longer triggers a site rebuild, because the worker ships through Terraform (Infra apply), not this workflow.workflow_dispatchstill 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