fix(release): unblock npm publish — remove broken kit install, add payment ext#101
Conversation
PR SummaryMedium Risk Overview Rokt kits now use The workflow can be started manually via Reviewed by Cursor Bugbot for commit a8df4db. Bugbot is set up for automated code reviews on this repo. Configure here. |
There was a problem hiding this comment.
Pull request overview
This PR updates the release workflow to safely recover from the partially-published 4.0.0 release by enabling manual reruns, making npm publishes idempotent, and ensuring the Rokt kit(s) can install/publish without requiring lockfiles.
Changes:
- Add
workflow_dispatchand set GitHub release creation toallowUpdates: truefor safe reruns. - Make npm publishes idempotent by skipping packages whose exact version is already on npm.
- Switch
Kits/Roktfromnpm citonpm install, and add install/publish steps forKits/RoktPaymentExtension.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…yment ext The Release NPM workflow ran `npm ci` in Kits/Rokt, which requires a package-lock.json. The kits are dependency-less and carry no lock file, so `npm ci` failed with EUSAGE and the 4.0.0 release published the plugin but not the Rokt kit, and created no tag or GitHub release. The kits have no dependencies and no lifecycle scripts, so `npm publish` packs and uploads on its own — no install step is needed. Remove the Rokt kit install step entirely (rather than swapping `npm ci` for `npm install`), and add the missing RoktPaymentExtension publish step (new in 4.0.0, with publishConfig, but never published because the workflow had no step for it). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
f5de2b9 to
3232427
Compare
Context
The 4.0.0 release (run) partially published:
@mparticle/cordova-sdk@4.0.0reached npm, then the workflow failed at "Install Rokt Kit dependencies". The Rokt kit never published, and no git tag or GitHub release was created.Root cause
release-from-main.ymlrannpm ciinKits/Rokt.npm cirequires apackage-lock.json. That lock file was intentionally removed (the kits are dependency-less and carry no lock), sonpm cifailed withEUSAGE.Changes
npm publishpacks and uploads on its own — there is nothing to install. (Thenpm ciwas cargo-culted from the plugin's step, where it is needed to run tests + build.)Kits/RoktPaymentExtensionpublish step. It's new in 4.0.0 withpublishConfig, but the workflow had no step for it, so it was never published to npm.Recovery plan
We will not re-run 4.0.0. Roll forward to 4.0.1 through the normal flow:
VERSION, so it won't trigger a release).draft-release-publish.ymlwith a patch bump → opens the 4.0.1 release PR.VERSIONchanges →release-from-main.ymlpublishes all three packages at 4.0.1 and cuts tag4.0.1+ the GitHub release.🤖 Generated with Claude Code