ci: publish RC via OIDC, retire token-based rc.yml#111
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
5803b83 to
b928f1e
Compare
Member
|
Lgtm, thank you! |
rin-st
approved these changes
Jun 3, 2026
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
release.ymlalready publishesmainvia OIDC trusted publishing (provenance, published by GitHub Actions since 0.1.6), butrc.ymlnever got that migration. It still runs the oldNPM_TOKENpath — noid-tokenpermission, noregistry-url, node 20 — so the RC channel either fails or publishes unsigned token releases while main goes out tokenless. This folds therelease-candidatetrigger intorelease.ymland deletesrc.yml.Concretely
release.ymlnow triggers onrelease-candidateas well asmain. npm trusted publishing is keyed to repo + workflow filename, so reusingrelease.ymlmeans RC publishes through the publisher npm already trusts — no new npm-side config, no token.rc.yml. Its token auth predates the OIDC work (last touched in mergerelease-candidate#56, before allow permission for oidc #84/gh-actions: add link to repo-url + configure permissions #87 moved main to OIDC). Keeping a second workflow is exactly how it drifted out of sync, so we retire it rather than re-patch it.maincuts normal releases,release-candidate(afterchangeset pre enter rc) cuts-rc.Nversions on thercdist-tag, leavinglatestuntouched.Why
We want a tight loop for shipping pre-release versions to test against scaffold-eth-2 before they reach
latest— first use being the squared/edgy redesign (#110), which we want to validate end to end in a real SE-2 app. With this, SE-2 installs@rcand sees changes without affecting anyone on stable.Cutting an RC (after this merges)
The changesets action opens a Version Packages PR against
release-candidate; merging it publishes the-rc.Nvia OIDC to therctag. Then in SE-2: set both packages to"rc"andpnpm install.Sanity check the first run with
npm dist-tag ls @scaffold-ui/components— the new version should land onrc, withlatestunchanged. Ifpre enter rcwas skipped it'd cut a normal release instead, so that's the one thing to confirm.