Skip to content

fix: publish beta once per sync#32554

Open
Hona wants to merge 2 commits into
anomalyco:devfrom
Hona:fix/beta-single-commit
Open

fix: publish beta once per sync#32554
Hona wants to merge 2 commits into
anomalyco:devfrom
Hona:fix/beta-single-commit

Conversation

@Hona

@Hona Hona commented Jun 16, 2026

Copy link
Copy Markdown
Member

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.

Copilot AI review requested due to automatic review settings June 16, 2026 11:41

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.ts to emit a changed output and optionally skip pushing beta, enabling downstream workflow orchestration.
  • Refactor nix-hashes into a reusable workflow + composite action, and stop running nix-hashes on beta pushes.
  • Update the beta workflow to bundle the validated beta branch, 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.

Comment thread .github/workflows/nix-hashes-reusable.yml
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