Supply chain measures#3398
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
✅ Files skipped from review due to trivial changes (1)
📝 WalkthroughWalkthroughThis PR disables OIDC id-token access in several GitHub Actions workflows, raises dependency tooling minimum release age to seven days, and bumps ChangesWorkflow OIDC Token Restriction
Dependency Release Age Configuration
Package Version Bump
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Caution
Re-introducing minimumReleaseAge in pnpm-workspace.yaml reverses PR #3388 ("Resetting the age filter") merged one day ago. With pnpm@11.1.0 (per packageManager), an explicit minimumReleaseAge flips minimumReleaseAgeStrict to true by default (pnpm.io/settings#minimumreleaseagestrict), so any catalog or transitive dep whose entire satisfying range is < 7 days old will hard-fail pnpm install instead of falling back. The previous minimumReleaseAgeExclude allowlist (~26 entries: express, zod, typescript, vitest, prettier, …) is also not restored.
TL;DR — Hardens supply-chain posture by tightening GITHUB_TOKEN id-token scope across CI workflows and lengthening the dependency release-age window in both Renovate and pnpm. The Renovate/CI pieces are clean; the pnpm-side change reintroduces the exact strict-mode regression PR #3388 just fixed.
Key changes
- Disable
id-tokenin non-publishing workflows — addsid-token: nonetobump.yml,codeql-analysis.yml,headers.yml, andnode.js.yml;npm-publish.ymlcorrectly retainsid-token: writeforpnpm publish --provenance. - Bump Renovate
minimumReleaseAgeto 7 days — was"1 day", now"7 days"inrenovate.json. - Re-add pnpm
minimumReleaseAge: 10080— restores the workspace-level 7-day install gate that PR #3388 removed two days ago, without restoring the strict-mode escape valve or the allowlist.
Summary | 6 files | 2 commits | base: master ← protocol-mystique
OIDC scope tightening across CI
Before: four workflows had no explicit
id-tokendeclaration, inheriting the repo-default token.
After: each non-publishing workflow declaresid-token: none, andnpm-publish.ymlis the only place where OIDC remains writable.
Three of the four touched workflows (bump.yml, codeql-analysis.yml, headers.yml) already had explicit permissions: blocks, so adding id-token: none only makes the implicit deny explicit — verified runtime-equivalent. None of these workflows use OIDC-based signing or cloud auth.
bump.yml · codeql-analysis.yml · headers.yml · node.js.yml
7-day release-age gate at two layers
Before: Renovate gated PRs at 1 day; pnpm relied on its built-in 1440-minute non-strict default.
After: Renovate gates at 7 days and pnpm enforces a 7-day strict gate at install time.
Why does the pnpm-side change reintroduce a regression?
PR #3388 removed `minimumReleaseAge` from `pnpm-workspace.yaml` precisely because pnpm@11.0.4+ ([pnpm/pnpm#11436](https://github.com/pnpm/pnpm/pull/11436)) made `minimumReleaseAgeStrict` default to `true` whenever `minimumReleaseAge` is explicitly set — meaning installs hard-fail when no version in a requested range is mature enough, instead of falling back. The current PR re-adds the explicit value at a stricter threshold (10080 vs the prior 2880) without re-adding the previous `minimumReleaseAgeExclude` allowlist or setting `minimumReleaseAgeStrict: false`. Catalog entries (`zod ^4.3.4`, `zod ^4.4.3`, `typescript ^6.0.2`, `vitest`, …) are subject to the same gate per the docs.
pnpm-workspace.yaml · renovate.json
Claude Opus | 𝕏
Co-authored-by: pullfrog[bot] <226033991+pullfrog[bot]@users.noreply.github.com>
There was a problem hiding this comment.
No new issues. Reviewed the following changes:
- Added
contents: readalongsideid-token: noneinnode.js.yml's top-levelpermissions:block, addressing the prior MINOR concern about implicit-permissions collapse.
The earlier CAUTION on pnpm-workspace.yaml:14 (strict-mode regression of PR #3388) is unaffected by these commits and still stands.
Claude Opus | 𝕏

Summary by CodeRabbit