👷 Switch release jobs to npm stage publish#7013
Conversation
Replace `pnpm publish` with `npm stage publish` in all seven publish jobs of the build-status workflow. Each job now installs the latest npm (which ships the `stage` subcommand introduced in npm 11.15.0) and runs both the install and the publish from the parent directory so the repo's pnpm devEngines pin does not block npm. The Install pnpm step is no longer needed in those jobs and the `--no-git-checks` pnpm-only flag has been dropped.
|
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub. |
@fast-check/ava
fast-check
@fast-check/jest
@fast-check/packaged
@fast-check/poisoning
@fast-check/vitest
@fast-check/worker
commit: |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #7013 +/- ##
=======================================
Coverage 94.82% 94.82%
=======================================
Files 212 212
Lines 5876 5876
Branches 1541 1541
=======================================
Hits 5572 5572
Misses 296 296
Partials 8 8
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Description
Switches every
publish_package_*job in.github/workflows/build-status.ymlfrompnpm publishtonpm stage publish. With staged publishing, CI uploads the tarball into a holding area on the registry instead of releasing it immediately — a maintainer then has to approve the staged version (with 2FA) before it becomes installable. End users still receive the same artifacts on npm, but the release step is no longer fully automated: there is now an explicit approval gate between a tag being pushed and the package going live. This is a follow-up to #7011 (which already removed the OTP prompt from the publish call); together they move the workflow toward npm's recommended staged-release flow.Each publish job now:
npm@latestso the runner-provided npm is upgraded before publishing — thestagesubcommand landed in npm 11.15.0 and is not yet bundled with Node 24's default npm;npm install -gandnpm stage publishfrom the parent directory (cd ..), because the repo'spackage.jsonpins pnpm viadevEnginesand would otherwise block npm from executing inside the workspace;pnpm/action-setupstep or the pnpm-specific--no-git-checksflag, both of which were dropped from the seven affected jobs.Non-publish jobs were intentionally left alone and still install pnpm — only the release plumbing changes. Because the diff only touches the workflow file, there are no source, dependency, or published-artifact changes, no semver impact to flag, and no changeset to add; the new code path is exercised the next time a
v*tag is pushed.Checklist
— Don't delete this checklist and make sure you do the following before opening the PR
pnpm run bumpor by following the instructions from the changeset bot🐛(vitest) Something...) when the change targets a package other thanfast-check