Skip to content

Revert temporary beta-as-latest publishing behavior#1551

Merged
SteveSandersonMS merged 1 commit into
mainfrom
stevesa/enable-stable-publishing
Jun 2, 2026
Merged

Revert temporary beta-as-latest publishing behavior#1551
SteveSandersonMS merged 1 commit into
mainfrom
stevesa/enable-stable-publishing

Conversation

@SteveSandersonMS
Copy link
Copy Markdown
Contributor

Reverts #1283 (commit 4e3dc73) which temporarily routed the latest dist-tag through the prerelease pipeline so we could publish 1.0.0-beta.* under latest.

With 1.0.0 ready to ship, restore the original publish behavior:

  • publish.yml: re-enforce that latest requires a non-prerelease version, and route latest to Create GitHub Release (real release) while prerelease continues to produce a Pre-Release.
  • calculate-version.js: latest increments by patch again, and a higher prerelease (e.g. 1.0.0-beta.N) gets promoted to stable (1.0.0).
  • get-version.test.ts: the two (temporary beta behavior) tests revert to their original stable-promotion assertions.

Revert applied cleanly with no conflicts; no other commits since #1283 touched these regions.

@SteveSandersonMS SteveSandersonMS requested a review from a team as a code owner June 2, 2026 14:06
Copilot AI review requested due to automatic review settings June 2, 2026 14:06
@SteveSandersonMS SteveSandersonMS merged commit 40d18e7 into main Jun 2, 2026
21 checks passed
@SteveSandersonMS SteveSandersonMS deleted the stevesa/enable-stable-publishing branch June 2, 2026 14:08
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

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 reverts the temporary “beta-as-latest” publishing behavior introduced in #1283, restoring the original release/publish semantics now that 1.0.0 is ready: latest becomes a true stable release flow again, while prerelease continues to publish prerelease builds.

Changes:

  • Restores latest version calculation to patch increments and promotes higher prereleases (e.g. 1.0.0-beta.N) to stable (1.0.0).
  • Re-enforces publish-time validation that latest must not include a prerelease suffix and routes latest to a full GitHub Release (not a pre-release).
  • Updates Node tests to match the restored stable-promotion behavior.
Show a summary per file
File Description
nodejs/scripts/calculate-version.js Switches latest back to patch increments and removes latest from prerelease identifier selection to enable stable promotion.
nodejs/test/get-version.test.ts Updates expectations for latest patch bumping and prerelease-to-stable promotion.
.github/workflows/publish.yml Restores stable-vs-prerelease validation for latest and splits GitHub Release vs Pre-Release creation by dist-tag.

Copilot's findings

Comments suppressed due to low confidence (1)

.github/workflows/publish.yml:256

  • Same issue as the stable release step: without fetching tags, git rev-parse is unlikely to find v${{ needs.version.outputs.current-prerelease }}, so --notes-start-tag won’t be used even when the tag exists remotely. Fetch tags before performing the existence check.
          NOTES_FLAG=""
          if git rev-parse "v${{ needs.version.outputs.current-prerelease }}" >/dev/null 2>&1; then
            NOTES_FLAG="--notes-start-tag v${{ needs.version.outputs.current-prerelease }}"
          fi
  • Files reviewed: 3/3 changed files
  • Comments generated: 1

Comment on lines +240 to +243
NOTES_FLAG=""
if git rev-parse "v${{ needs.version.outputs.current }}" >/dev/null 2>&1; then
NOTES_FLAG="--notes-start-tag v${{ needs.version.outputs.current }}"
fi
@github-actions github-actions Bot mentioned this pull request Jun 2, 2026
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