fix: publish beta once per sync#32554
Open
Hona wants to merge 2 commits into
Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR restructures the hourly beta sync so that a beta release is only published once per sync interval, even when dependency changes require updating Nix node_modules hashes. It does this by deferring the beta branch push until after hashes are updated, preventing a second “hash-only” commit from triggering a second publication.
Changes:
- Teach
script/beta.tsto emit achangedoutput and optionally skip pushingbeta, enabling downstream workflow orchestration. - Refactor
nix-hashesinto a reusable workflow + composite action, and stop runningnix-hashesonbetapushes. - Update the
betaworkflow to bundle the validatedbetabranch, run hash updates against that bundle, then force-push once.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
script/beta.ts |
Adds a GitHub Actions output (changed) and supports validating without pushing to enable a single final publication. |
.github/workflows/nix-hashes.yml |
Limits automatic hash updates to dev and delegates logic to a reusable workflow. |
.github/workflows/nix-hashes-reusable.yml |
New reusable workflow that computes + applies Nix hashes and can operate on a bundled branch state. |
.github/workflows/beta.yml |
Adds concurrency, runs beta sync without pushing, bundles the branch, then updates hashes and force-pushes once. |
.github/actions/nix-hashes/action.yml |
New composite action encapsulating compute/update steps for node_modules hash handling. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
The hourly beta sync can currently trigger two publications when dependency changes require refreshed Nix hashes. The initial beta push starts a release, then the hash update adds another commit and starts a second release for the same hourly batch.
That breaks the expectation that users see at most one downloadable beta per sync interval and can briefly publish artifacts from a commit that is immediately superseded. Beta should only become visible after all release-required metadata is ready, while the existing dev hash updates should keep the same behavior.