ci: enable changesets npm publishing for backstage plugins#1799
Open
teemow wants to merge 1 commit into
Open
Conversation
Wire the plugin release axis from the two-axis release model (ADR / issue #1772 step 4). The 18 @giantswarm/backstage-plugin-* packages become publishable; the app packages stay private. - drop "private": true from the 18 plugins/* packages - set .changeset access to public (plugin npm publishing) - add release:plugins script (build:all + changeset publish) - add release-plugins workflow (changesets/action): opens a "Version Packages" PR with a non-bumping chore(release) title so it never triggers a git-cliff app release, and publishes to npm on merge - wire npmAuthToken from NPM_TOKEN in .yarnrc.yml (empty elsewhere) Plugin publishing stays dormant until a changeset is added and the NPM_TOKEN secret is provisioned; no app behavior changes. Co-authored-by: Cursor <cursoragent@cursor.com>
JS Dependency Audit0 added · 0 removed · 326 total (0 vs base) Projects audited
No change in vulnerabilities compared to the base branch. Full current vulnerability list (326)
|
6 tasks
6 tasks
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
Implements the plugin release axis (Axis 2) of the accepted two-axis release model —
giantswarm/backstage#1772step 4. The app axis (git-cliffauto_release.yaml) is already live; this PR makes the 18@giantswarm/backstage-plugin-*packages independently publishable to npm via changesets, on their own version/tag namespace."private": truefrom the 18plugins/*packages (thepackages/*app packages stay private)..changeset/config.jsonaccess: public.release:pluginsroot script (yarn build:all && changeset publish)..github/workflows/release-plugins.yamlusingchangesets/action: on push tomainit opens/updates a Version Packages PR titledchore(release): version plugins, and publishes the bumped plugins to npm. Auth viaNPM_TOKEN(wired through.yarnrc.ymlnpmAuthToken, empty elsewhere).The two axes never collide: architect's
/^v.*/tag filter fires only on the appvX.Y.Ztag, never on@pkg@verplugin tags. Thechore(release):Version-Packages title is a non-bumping conventional type, so merging it does not make git-cliff cut a spurious app release (cliff.tomlbumps only onfeat/fix/breaking — verified).changesets/actionruns thepublishcommand on any push tomainwhere no changeset files are present (the normal post-Version-PR state). Because none of the 18 plugins are on npm yet, the first merge of this PR will trigger an inauguralchangeset publishof all 18@giantswarm/backstage-plugin-*packages at their current versions.Prerequisites before merge (org-admin):
@giantswarmorg must exist with publish rights (it currently has zero published packages).NPM_TOKENrepo secret (publish rights, 2FA-on-publish disabled) must be set on this repo.Without the token the
release-pluginsworkflow run fails on the publish step. Keep this PR open until the token is in place; merging is then a deliberate, supervised initial publish.Test plan
yarn install --immutablereports no lockfile drift.cliff.tomlconfirmed:chore(release):does not bump → no spurious app release.package.jsonstays0.138.0).NPM_TOKENis provisioned: merge, confirm the inaugural publish lands the plugins on npm with no appvX.Y.Ztag cut.