fix(release-kit): drop dist-tag add on stable publish, prep fbe kit 0.1.1 - #3220
Conversation
The trusted-publishing OIDC token authorises npm publish only, so the npm dist-tag add that followed a stable publish failed with E401 after the package was already live. The failure skipped the push, tag and GitHub release steps. Stable releases now publish with --tag latest only. Also carries the two next-only steps (Print inputs, explicit registry on the firebase-functions@next install) into kits so the next copy can be synced byte-for-byte.
0.1.0 was published from the next copy of the workflow, which lacked the shrinkwrap prune step, so consumers on npm 10 fail npm ci with EBADPLATFORM.
There was a problem hiding this comment.
Code Review
This pull request updates the changelog for the firestore-bigquery-export kit to version 0.1.1, adding a fix for an EBADPLATFORM error caused by devDependencies in npm-shrinkwrap.json. The reviewer suggested keeping the 0.1.0 version header as a separate section in the changelog to maintain a clear chronological history, providing a code suggestion for the layout.
| ## Version 0.1.1 | ||
|
|
||
| - fix: 0.1.0 shipped the kit's devDependencies in its `npm-shrinkwrap.json`, so a consumer `npm ci` under npm 10 (the Cloud Functions buildpack) fails with `EBADPLATFORM` on the `@esbuild/*` platform binaries. 0.1.1 ships the pruned shrinkwrap. Do not use 0.1.0. | ||
| - Initial release of kit, see README for differences between the legacy extension and this kit |
There was a problem hiding this comment.
Since 0.1.0 was already published to npm, it is best practice to keep its entry in the changelog as a separate section rather than replacing the version header. This maintains a clear, chronological history of all published versions, even if a version is deprecated or broken.
| ## Version 0.1.1 | |
| - fix: 0.1.0 shipped the kit's devDependencies in its `npm-shrinkwrap.json`, so a consumer `npm ci` under npm 10 (the Cloud Functions buildpack) fails with `EBADPLATFORM` on the `@esbuild/*` platform binaries. 0.1.1 ships the pruned shrinkwrap. Do not use 0.1.0. | |
| - Initial release of kit, see README for differences between the legacy extension and this kit | |
| ## Version 0.1.1 | |
| - fix: 0.1.0 shipped the kit's devDependencies in its npm-shrinkwrap.json, so a consumer npm ci under npm 10 (the Cloud Functions buildpack) fails with EBADPLATFORM on the @esbuild/* platform binaries. 0.1.1 ships the pruned shrinkwrap. Do not use 0.1.0. | |
| ## Version 0.1.0 | |
| - Initial release of kit, see README for differences between the legacy extension and this kit |
There was a problem hiding this comment.
This CHANGELOG is the release notes for the next publish and the workflow clears it on a stable release, so it is not a running history. 0.1.0 never got a GitHub release, so its notes surface only through the 0.1.1 entry. Keeping the single section.
The first stable kit release, firestore-bigquery-export@0.1.0 (run 36459253499), published to npm and then died on
npm dist-tag add ... nextwith E401. The trusted-publishing OIDC token only authorisesnpm publish, so the dist-tag mutation can never succeed on this pipeline. Because the step failed after publish, the push, tag and GitHub release steps were skipped: 0.1.0 is on npm with a provenance gitHead that exists on no branch, andkitsstill says 0.0.2-rc.17.The run was also dispatched from
next, whose copy of the workflow lacks the shrinkwrap prune step from #3085. The shipped 0.1.0 tarball carries 101 dev lock entries including 26@esbuild/*binaries, and a consumernpm ciunder npm 10 fails withEBADPLATFORM(reproduced locally against the registry; rc.17 installs cleanly).This PR drops the dist-tag step, ports the two deliberate next-only changes (Print inputs, explicit registry on the RC install) into
kits, and rewrites the CHANGELOG for a 0.1.1 fix-forward release. A companion PR syncs the workflow tonextbyte-for-byte. Not verified: a live dispatch of the edited workflow; the dry-run path is unchanged apart from the summary label. 0.1.0 still needsnpm deprecateby a package owner.