Skip to content

fix(ci): harden release workflows — Node 24, permissions, registry-url - #2720

Open
cs-raj wants to merge 2 commits into
mainfrom
fix/release-workflow-hardening
Open

fix(ci): harden release workflows — Node 24, permissions, registry-url#2720
cs-raj wants to merge 2 commits into
mainfrom
fix/release-workflow-hardening

Conversation

@cs-raj

@cs-raj cs-raj commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Summary

Aligns the CLI production release workflows with the org-wide publish standard.

  • permissions: id-token: write added to both release-production-core.yml and release-production-platform-plugins.yml — required for npm provenance (SLSA attestations). Without this the OIDC token is never issued and provenance silently fails.
  • permissions: contents: read made explicit (was implicitly set by the default, now declared to be consistent and least-privilege).
  • Node 22.x → 24 — matches the org publish standard; Node 22 LTS EOL is April 2025.
  • registry-url: https://registry.npmjs.org/ added to the setup-node step — causes the runner to write a .npmrc with NODE_AUTH_TOKEN correctly wired up, which is needed if any future step uses plain npm publish instead of the JS-DevTools action.

Files changed

File Change
.github/workflows/release-production-core.yml Add permissions block, bump Node, add registry-url
.github/workflows/release-production-platform-plugins.yml Same

Test plan

  • Trigger the release pipeline on next merge to main and confirm both jobs complete without permission errors
  • Verify npm provenance attestation appears on the published package version at npmjs.com

🤖 Generated with Claude Code

- Add `permissions: contents: read / id-token: write` to both release
  jobs; id-token:write is required for npm provenance (SLSA attestation)
- Upgrade node-version from 22.x to 24 to match the org-wide publish
  standard and stay ahead of Node 22 LTS EOL
- Add `registry-url: https://registry.npmjs.org/` to setup-node so the
  runner writes a proper .npmrc with NODE_AUTH_TOKEN wired up for any
  plain `npm` calls in the job

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@cs-raj
cs-raj requested a review from a team as a code owner September 2, 2026 09:24
@snyk-io

snyk-io Bot commented Sep 2, 2026

Copy link
Copy Markdown

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues
Licenses 0 0 0 0 0 issues
Code Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 0 0 25 ✅ Passed
🟡 Medium Severity 0 4 500 ✅ Passed
🔵 Low Severity 0 0 1000 ✅ Passed

⏱️ SLA Breach Summary

⚠️ Warning: The following vulnerabilities have exceeded their SLA thresholds (days since publication).

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 0 0 30 / 120 days ✅ Passed
🟡 Medium 0 1 90 / 365 days ⚠️ Warning
🔵 Low 0 0 180 / 365 days ✅ Passed

ℹ️ 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:

  • Critical without fixes: 0
  • High without fixes: 0
  • Medium without fixes: 4
  • Low without fixes: 0

⚠️ BUILD PASSED WITH WARNINGS - SLA breaches detected for issues without available fixes

Consider reviewing these vulnerabilities when fixes become available.

- Add 'Update npm' step (npm install -g npm@latest) before publish in
  both release jobs — ensures npm supports --provenance (requires npm 9+)
- Add provenance: true to all JS-DevTools/npm-publish@v3 steps so the
  OIDC token granted by id-token:write is actually used to generate SLSA
  attestations on npmjs.com

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 0 0 25 ✅ Passed
🟡 Medium Severity 0 4 500 ✅ Passed
🔵 Low Severity 0 0 1000 ✅ Passed

⏱️ SLA Breach Summary

⚠️ Warning: The following vulnerabilities have exceeded their SLA thresholds (days since publication).

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 0 0 30 / 120 days ✅ Passed
🟡 Medium 0 1 90 / 365 days ⚠️ Warning
🔵 Low 0 0 180 / 365 days ✅ Passed

ℹ️ 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:

  • Critical without fixes: 0
  • High without fixes: 0
  • Medium without fixes: 4
  • Low without fixes: 0

⚠️ BUILD PASSED WITH WARNINGS - SLA breaches detected for issues without available fixes

Consider reviewing these vulnerabilities when fixes become available.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant