Skip to content

1.9.0: stage the browser sidecar's npm releases, and fail a release whose sidecar changed under a published version - #585

Merged
TonsOfFun merged 3 commits into
mainfrom
ci/npm-staged-publish
Oct 15, 2026
Merged

TonsOfFun merged 3 commits into
mainfrom
ci/npm-staged-publish

Conversation

@TonsOfFun

@TonsOfFun TonsOfFun commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Release: 1.9.0. Part of the 1.9.0 set with #584, #586 and #587.

@activeagents/browser-sidecar@1.9.0 is now on npm. Its trusted publisher on npmjs.com is set up for staged publishes, and npm recommends against allowing direct npm publish. This changes the release workflow to match.

Changes to publish-browser-sidecar in release.yml

  • Publishes through trusted publishing (OIDC) and drops NODE_AUTH_TOKEN/NPM_TOKEN. That secret never existed in this repo, which is why the sidecar had never been published. Provenance comes with OIDC, so --provenance is gone.
  • Runs npm stage publish instead of npm publish. A staged version stays private until a maintainer approves it with 2FA, on npmjs.com or with npm stage approve. npm stage list shows what's waiting.
  • Uses Node 24 and updates npm to 11.x, because trusted publishing needs npm ≥ 11.5.1 and the npm bundled with Node can be older.
  • Release guard (.github/scripts/browser-sidecar-unchanged.sh): when the version is already on npm, the job packs the published tarball and browser-sidecar/, diffs them file by file, and fails with "browser-sidecar changed since @activeagents/browser-sidecar@X was published; bump the version" if they differ. Before this, a sidecar change released under a published version would be skipped silently.
  • Unchanged: the version check against ActionAgent::VERSION and the GHCR image job.

Testing

Sources: npm trusted publishing docs

🤖 Generated with Claude Code

https://claude.ai/code/session_01CJAKwnkBaCGr5qjCcmc3kh

The package is now on npm, and its trusted publisher allows staged
publishes: CI stages each version over OIDC, with no NPM_TOKEN, and a
maintainer approves it with 2FA before it is public.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CJAKwnkBaCGr5qjCcmc3kh
The sidecar job skips npm when its version is already published, so a
sidecar change released without a version bump would silently never reach
npm. When the version is on npm, the job now packs the published tarball
and browser-sidecar/, compares them file by file, and fails with "bump the
version" when they differ (.github/scripts/browser-sidecar-unchanged.sh).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CJAKwnkBaCGr5qjCcmc3kh
@TonsOfFun TonsOfFun changed the title Stage the browser sidecar's npm releases through trusted publishing 1.9.0: stage the browser sidecar's npm releases, and fail a release whose sidecar changed under a published version Oct 14, 2026
@TonsOfFun
TonsOfFun marked this pull request as ready for review October 14, 2026 21:09
@TonsOfFun
TonsOfFun merged commit 846d9ef into main Oct 15, 2026
12 checks passed
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.

1 participant