chore(#930): remove self-masking next dist-tag repoint from release finalize (#931)

* chore(#930): remove self-masking next dist-tag repoint from release finalize

The "Clean up next dist-tag" step silently failed under OIDC trusted
publishing (which can't write dist-tags) while unconditionally reporting
success via || true + an echo. It also violated the release model by
trying to repoint @next→stable; @next is managed exclusively by the rc
job's --tag next publish.

Closes #930

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: update ADR-660 to reflect removal of next dist-tag repoint

The finalize job no longer runs `npm dist-tag add … next`; update the
ADR-660 description of step 4 to match the new behavior — @next is
managed exclusively by the rc job.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Tom Boucher
2026-06-09 09:17:00 -04:00
committed by GitHub
parent 03d9fcdd65
commit 86845340dc
2 changed files with 1 additions and 11 deletions

View File

@@ -642,16 +642,6 @@ jobs:
--post \
--allow-missing-webhook
- name: Clean up next dist-tag
if: ${{ !inputs.dry_run }}
env:
VERSION: ${{ inputs.version }}
run: |
# Point next to the stable release so @next never returns something
# older than @latest. This prevents stale pre-release installs.
npm dist-tag add "@opengsd/gsd-core@${VERSION}" next 2>/dev/null || true
echo "✓ next dist-tag updated to v${VERSION}"
- name: Verify publish
if: ${{ !inputs.dry_run }}
env:

View File

@@ -79,7 +79,7 @@ or a movable tag — as the RC surface.** Concretely:
4. **RC = the `@next` dist-tag, full stop.** Testers run `npm i -g @opengsd/gsd-core@next`.
Because each `rc` run is cut from `next` HEAD, every rc.N already includes all prior fixes.
No long-lived branch, no tag movement. `finalize` promotes the released version to `@latest`
(and keeps the existing `npm dist-tag add … next` so `@next` never trails `@latest`).
(`@next` remains the prerelease channel managed exclusively by the `rc` job; `finalize` does not repoint it).
5. **Everything else stays:** custom changesets + CHANGELOG render, release-notes formatter,
smoke-test gates, provenance, `main`/`next`, `auto-backmerge` (main→next).