Repository navigation
Conversation
Replace release-production-plugins.yml and release.json with one release.yml that runs on release:published, so the npm trusted publisher can be keyed on the filename. Drop NPM_TOKEN in favour of id-token: write (OIDC), run on Node 24 with npm@latest (trusted publishing needs npm >= 11.5.1), install with a frozen lockfile and check out the release tag without persisted credentials. Each of the 20 packages publishes in its own step, in the old order, and is skipped when its version is already on npm. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
🔒 Security Scan Results
⏱️ SLA Breach Summary
ℹ️ Vulnerabilities Without Available Fixes (Informational Only)The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:
Consider reviewing these vulnerabilities when fixes become available. |
🔒 Security Scan Results
⏱️ SLA Breach Summary
ℹ️ Vulnerabilities Without Available Fixes (Informational Only)The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:
Consider reviewing these vulnerabilities when fixes become available. |
Lock file regenerated (fixed 3 on its own: body-parser 1.20.9, proxy-addr 2.0.8, traverse 0.6.14). Direct upgrades: none Overrides: none added (follow-redirects 1.16.1, fast-uri 4.2.3, qs 6.16.1 already raised in pnpm-workspace.yaml on this branch) Vuln count: snyk 221 → 51, npm audit 14 → 5 (vs main). Build verified passing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
🔒 Security Scan Results
⏱️ SLA Breach Summary
ℹ️ Vulnerabilities Without Available Fixes (Informational Only)The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:
✅ BUILD PASSED - All security checks passed |
Problem
release-production-plugins.ymlpublishes the 20 cli-plugins packages to npm with a long-livedNPM_TOKENon every push tomain.The SE1 publishing policy requires OIDC trusted publishing instead: no token, one
release.ymlthat runs when a release is published, Node 24.Fix
release-production-plugins.ymland.github/config/release.jsonare replaced by onerelease.yml.main, manual runrelease: publishedNPM_TOKENid-token: write, no tokenJS-DevTools/npm-publish@v3steps,access: publicon 5 of themnpm publish --access publicunless that version is already on npmclean:all, thenpnpm install --no-frozen-lockfilepnpm install --frozen-lockfilepersist-credentials: false@v4@v7, setup-node@v7, pnpm/action-setup pinned to its v6.1.0 commitjson-to-variables+release.json(unused), corepack steps.talismanrcrelease.yml: Talisman flags the pinned action SHA (false positive)Deviations from the policy's sample workflow, all because this is a pnpm monorepo with 20 packages:
pnpm/action-setupstep: the repo uses pnpm.cache: 'pnpm'instead of'npm': there is nopackage-lock.json.pnpm install --frozen-lockfileinstead ofnpm ci: the same lockfile-strict install, for pnpm.pnpm -r --sort run build: plugins depend on each other (import on audit and variants, clone on export and import, …), and a package skipped as already published never runs itsprepack, so its dependents need itslib/built up front.@v4(v4 runs on Node 20, which is end-of-life); the third-partypnpm/action-setupis pinned to a commit SHA, as SRE recommended.Verification
Node 22 and Node 24: frozen-lockfile install, build and unit tests pass (5,333 passing). The 20 publish steps, run with
npm publishstubbed, go in the old order, skip the versions already on npm, pick up bumped ones, and a failed step stops the job.Snyk
main's lock file scans at 221 Snyk issues and 14 pnpm audit findings. This PR raises thepnpm-workspace.yamloverrides for follow-redirects (1.16.1), fast-uri (4.2.3) and qs (6.16.1), and regeneratespnpm-lock.yamlso every range resolves to its newest allowed version. That regeneration also clears body-parser (1.20.9), proxy-addr (2.0.8) and traverse (0.6.14). Nopackage.jsonchanges.mainDirect dependencies move only within their declared ranges, with no major bumps. Runtime:
@oclif/core4.13.3 → 4.14.0,@oclif/plugin-help6.3.0,@contentstack/management1.31.2,@contentstack/delivery-sdk5.6.1 andfs-extra11.4.1. Tooling: eslint 10.13 and oclif 4.24.Still open:
@contentstack/cli-launch1.11.3, which declaresadm-zip ^0.5.18. The fix has to land in cli-launch.@contentstack/cli-utilities→tty-table4 →csv5. The fix (7.0.2) needs a major.pnpm run buildpasses for all 20 packages.