ci: harden alpha release publishing - #282
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
fforootd
marked this pull request as ready for review
June 13, 2026 16:56
fforootd
enabled auto-merge (squash)
June 13, 2026 16:57
Contributor
There was a problem hiding this comment.
Pull request overview
This PR hardens the alpha release CI workflow by making npm dist-tag promotion non-blocking and ensuring the alpha train completion logic correctly reflects whether publishing actually occurred, while preserving GoReleaser recovery for pre-existing tags.
Changes:
- Make
npm dist-tag add ... latestbest-effort (non-fatal) during the alpha train, and enforce this viacheck-alpha-release-plan. - Update CI workflow and unit tests to align with the best-effort dist-tag behavior.
- Add an empty changeset to record CI-only workflow behavior changes.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| scripts/check-alpha-release-plan.mjs | Adds a guard to ensure the workflow doesn’t fail the alpha train when npm latest dist-tag promotion fails. |
| apps/cli/tests/unit/scripts/check-alpha-release-plan.test.ts | Updates the expected workflow snippet and adds a regression test for best-effort latest promotion. |
| .github/workflows/ci.yml | Makes CLI alpha/latest dist-tag operations best-effort via ` |
| .changeset/fix-alpha-dist-tag-promotion.md | Adds an empty changeset for CI-only workflow changes. |
Comment on lines
+289
to
+293
| assertContains( | ||
| releaseJob, | ||
| 'npm dist-tag add "@zitadel/cli@$version" latest ||', | ||
| "release-alpha-train must not fail the alpha train when npm latest dist-tag promotion fails", | ||
| ); |
Comment on lines
+228
to
+239
| it("rejects a workflow that fails the train when npm latest promotion fails", async () => { | ||
| const { cwd, statusPath } = await fixtureRepo({ | ||
| ciWorkflow: validCiWorkflow().replace( | ||
| ' npm dist-tag add "@zitadel/cli@$version" latest || echo "::warning::Unable to promote @zitadel/cli@$version to npm latest dist-tag"', | ||
| ' npm dist-tag add "@zitadel/cli@$version" latest', | ||
| ), | ||
| }); | ||
|
|
||
| await expect( | ||
| checkAlphaReleasePlanModule.checkAlphaReleasePlan({ cwd, statusPath }), | ||
| ).rejects.toThrow("must not fail the alpha train when npm latest dist-tag promotion fails"); | ||
| }); |
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.
Summary
Validation
corepack pnpm nx test @zitadel/clicorepack pnpm changeset status --output /tmp/nextgen-changeset-status.json && node scripts/check-alpha-release-plan.mjs /tmp/nextgen-changeset-status.jsoncorepack pnpm run check -- --only nodecorepack pnpm --filter @zitadel/cli test -- --run tests/unit/scripts/check-alpha-release-plan.test.ts tests/unit/scripts/release-alpha-train.test.tsRelease notes / changeset
Notes
v0.1.0-alpha.4were not deleted or modified.0.1.0-alpha.4published successfully in the observed run; the failure was the follow-up dist-tag mutation.