release-plan.md
Triggers: PRs to main | Push to main | Manual dispatch | Cron (Monday 9AM IST)
lockfile-hygiene (all triggers)
npm-lockfile-hygiene — fails if internal Artifactory hosts found in lockfiletest (Node matrix) — needs: lockfile-hygiene (all triggers)
npm cinpm run ci (unit tests + security check + formatting check)npm run buildlts/* on PRs/pushes, [22, 24] on cron/manual with alldeploy-dry-run (Release Readiness Check - Build artifact) — needs: test (cron + manual dispatch only)
npm cinpm run buildnpm pack (creates tarball locally)Trigger: Tag push matching v*
version in package.json, merge to maingit tag v6.0.3 && git push --tagsproduction environment gate when promptednpm view [email protected] + check provenance badge on npmjs.orgtest (Node 22, 24 matrix)
npm cinpm testnpm run builddeploy (Publish to npm) — needs: test, requires production env approval
npm cinpm run buildpackage.json versionregistry.npmjs.org (OIDC, --provenance, --access public)v1.2.3-rc.1) → next dist-tagv1.2.3) → latest dist-tag| Step | Action |
|---|---|
| Weekly | Monday cron runs CI workflow — confirms infra is healthy (full matrix + dry run) |
| On every PR | CI workflow runs lockfile-hygiene + test (lts/*) + cluster tests |
| 1 | [ Librarian ] PR: bump package.json version, merge to main |
| 2 | [ Librarian ] git tag vX.Y.Z && git push --tags |
| 3 | deploy.yml fires automatically on tag creation, tests run (Node 22 + 24) |
| 4 | [ Manual ] Approve production environment gate |
| 5 | GitHub Release created, package published to npm with provenance |
| 6 | [ Manual ] Verify: npm view [email protected] + provenance badge on npmjs.org |
| Dependency | Owner | Breaks if... |
|---|---|---|
Artifactory OIDC provider (github-actions) | SSC / Platform | Repo renamed, org changed, trust not configured |
vars.ARTIFACTORY_URL | Repo admin | Variable not set or URL changes |
virtual-npm-thirdparty Artifactory repo | SSC / Artifactory admin | Repo missing, packages not proxied |
production GitHub environment | Repo admin | Environment doesn't exist or approvals misconfigured |
ubuntu-x64 runner group | Enterprise admin | Repo not added to runner group, or runner pool down |
| npm trusted publisher | npm org admin | Not registered, or workflow filename / environment mismatch |