Skip to content

ci: publish prerelease builds to npm under the next dist-tag#97

Merged
zerts merged 1 commit into
mainfrom
ci/publish-next-channel
Jul 14, 2026
Merged

ci: publish prerelease builds to npm under the next dist-tag#97
zerts merged 1 commit into
mainfrom
ci/publish-next-channel

Conversation

@zerts

@zerts zerts commented Jul 14, 2026

Copy link
Copy Markdown
Collaborator

What

Adds a QA/prerelease channel for the CLI so teammates can try merged-but-unreleased improvements without touching what regular users install.

  • New workflow .github/workflows/publish-next.yml — on every push to main (skipping release-please's own chore(main): release commits) it runs tests, bumps to a unique prerelease version like 1.5.1-next.20260714093000.g325093a, and runs npm publish --provenance --tag next. The --tag next flag means the latest dist-tag never moves — only merging the release-please PR promotes a real release.
  • workflow_dispatch — a prerelease can also be published manually from any branch via the Actions tab.
  • README — documents the @next channel, git-installing unmerged branches (npm i -g github:zeriontech/zerion-ai#<branch>), and how to roll the next tag back to a known-good version with npm dist-tag add.

QA flow this enables

  1. Merge PRs to main → each merge publishes to @next
  2. Teammates test with npx zerion-cli@next / npm i -g zerion-cli@next
  3. When solid, merge the release-please PR → publishes to latest for everyone

Notes

  • Uses the existing NPM_TOKEN secret (same package, different dist-tag).
  • The prerelease version bumps patch over the current stable so it sorts above it in semver; the g prefix on the SHA avoids invalid all-digit-with-leading-zero prerelease identifiers.
  • A concurrency group serializes runs so an older slow build can't move the next tag past a newer one.
  • Old -next.* versions accumulate on npm harmlessly; npm forbids republishing versions so no cleanup is needed.

🤖 Generated with Claude Code

Every push to main (except release-please's release commits) now publishes
a prerelease version like 1.5.1-next.<timestamp>.g<sha> with `npm publish
--tag next`, so teammates can QA merged-but-unreleased work via
`npx zerion-cli@next` while regular users keep getting `latest`.
Also supports manual workflow_dispatch from any branch.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@zerts
zerts merged commit 236c033 into main Jul 14, 2026
1 check passed
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.

1 participant