Skip to content

chore: upgrade pnpm to v11 and add minimumReleaseAge - #127

Merged
HugoRCD merged 3 commits into
mainfrom
chore/min-release-age
May 21, 2026
Merged

chore: upgrade pnpm to v11 and add minimumReleaseAge#127
HugoRCD merged 3 commits into
mainfrom
chore/min-release-age

Conversation

@HugoRCD

@HugoRCD HugoRCD commented May 21, 2026

Copy link
Copy Markdown
Owner

Summary

Two related changes to harden the supply chain and modernize the package manager setup.

1. Upgrade pnpm to v11

  • Bump packageManager to pnpm@11.1.3
  • Bump pnpm/action-setup@v2@v6; remove pinned version: latest
  • New pnpm-workspace.yaml with shamefullyHoist (moved from .npmrc) and explicit allowBuilds map (required in v11)
  • Delete .npmrc

2. Add minimumReleaseAge to harden supply chain

2-day minimum age (2880 minutes) before any newly published dependency can resolve. Trusted-source allowlist exempts the Nuxt and Vercel ecosystems.

Test plan

  • pnpm install resolves cleanly with v11
  • CI passes

Summary by CodeRabbit

  • Chores
    • Updated CI/CD workflows to use the latest pnpm action setup version.
    • Upgraded pnpm package manager from version 10.33.2 to 11.1.3.
    • Updated workspace configuration to optimize dependency management and package handling.

Review Change Stack

@github-actions

github-actions Bot commented May 21, 2026

Copy link
Copy Markdown

Thank you for following the naming conventions! 🙏

@coderabbitai

coderabbitai Bot commented May 21, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

This PR upgrades pnpm from version 10.33.2 to 11.1.3, migrates workspace hoisting configuration from .npmrc to a new pnpm-workspace.yaml file, and updates all GitHub Actions workflows to use pnpm/action-setup@v6.

Changes

pnpm Version and Configuration Update

Layer / File(s) Summary
pnpm version upgrade and hoisting configuration migration
package.json, .npmrc, pnpm-workspace.yaml
package.json packageManager is bumped to pnpm@11.1.3, the shamefully-hoist setting is removed from .npmrc, and a new pnpm-workspace.yaml is created with shamefullyHoist enabled, allowBuilds configured to skip builds for selected dependencies, and minimumReleaseAge policy with exclusions for Nuxt, Vercel, and AI-related packages.
GitHub Actions workflow updates
.github/workflows/autofix.yml, .github/workflows/build.yml, .github/workflows/ci.yml
pnpm/action-setup action is upgraded from @v2 to @v6 across all three workflows, with the build workflow adjusting the with: block to use run_install: false instead of version: latest.

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive The description provides good detail about the changes, but does not follow the repository's required template structure with explicit sections like Linked issue, Description, and Checklist. Restructure the description to follow the template with clear sections: Linked issue, Description, and Checklist with items explicitly marked.
✅ Passed checks (4 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title 'chore: upgrade pnpm to v11 and add minimumReleaseAge' directly and accurately summarizes the main changes: pnpm upgrade to v11 and introduction of minimumReleaseAge configuration.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/min-release-age

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/autofix.yml:
- Around line 17-20: Replace the floating tag "pnpm/action-setup@v6" with the
immutable commit SHA
"pnpm/action-setup@ac6db6d3c1f721f886538a378a2d73e85697340a" wherever it appears
(e.g., in the autofix workflow and the other workflows referenced in the comment
such as ci.yml and build.yml) so the workflow uses the pinned commit instead of
the movable v6 tag; update each occurrences of the string "uses:
pnpm/action-setup@v6" to use the SHA version.

In @.github/workflows/build.yml:
- Around line 18-20: The workflow uses an unstable tag "pnpm/action-setup@v6";
replace that mutable reference with an immutable commit SHA or digest in
.github/workflows/build.yml (and likewise in .github/workflows/ci.yml and
.github/workflows/autofix.yml) by updating the uses value (e.g. change
pnpm/action-setup@v6 to pnpm/action-setup@<commit-sha>) so the action is pinned
to a specific commit; ensure all occurrences of pnpm/action-setup@v6 are updated
consistently and run a workflow lint/CI check to validate the new references.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: ba47de97-50a7-4389-a5ee-e25e88c26f17

📥 Commits

Reviewing files that changed from the base of the PR and between 8cf0469 and 5017d10.

📒 Files selected for processing (6)
  • .github/workflows/autofix.yml
  • .github/workflows/build.yml
  • .github/workflows/ci.yml
  • .npmrc
  • package.json
  • pnpm-workspace.yaml
💤 Files with no reviewable changes (1)
  • .npmrc

Comment on lines +17 to 20
uses: pnpm/action-setup@v6
with:
version: latest
run_install: false

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Resolve the current SHA for v6 and find unpinned pnpm/action-setup usage in workflows.

set -euo pipefail

echo "Resolved object for pnpm/action-setup tag v6:"
gh api repos/pnpm/action-setup/git/ref/tags/v6 | jq -r '.object.sha'

echo
echo "Workflow lines using pnpm/action-setup without commit pin:"
rg -n --type=yaml 'uses:\s*pnpm/action-setup@v[0-9]+' .github/workflows

Repository: HugoRCD/default-repository

Length of output: 414


Pin pnpm/action-setup to an immutable commit SHA

.github/workflows/autofix.yml still uses pnpm/action-setup@v6 (also present in ci.yml and build.yml). Tag v6 currently resolves to ac6db6d3c1f721f886538a378a2d73e85697340a; pin to that SHA to satisfy hardened CI requirements.

🔒 Proposed fix
-      - name: Install pnpm
-        uses: pnpm/action-setup@v6
+      - name: Install pnpm
+        uses: pnpm/action-setup@<commit-sha>
         with:
           run_install: false
🧰 Tools
🪛 zizmor (1.25.2)

[error] 17-17: unpinned action reference (unpinned-uses): action is not pinned to a hash (required by blanket policy)

(unpinned-uses)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/autofix.yml around lines 17 - 20, Replace the floating tag
"pnpm/action-setup@v6" with the immutable commit SHA
"pnpm/action-setup@ac6db6d3c1f721f886538a378a2d73e85697340a" wherever it appears
(e.g., in the autofix workflow and the other workflows referenced in the comment
such as ci.yml and build.yml) so the workflow uses the pinned commit instead of
the movable v6 tag; update each occurrences of the string "uses:
pnpm/action-setup@v6" to use the SHA version.

Comment on lines +18 to 20
uses: pnpm/action-setup@v6
with:
version: latest
run_install: false

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== build.yml (around lines 10-30) =="
if [ -f .github/workflows/build.yml ]; then
  nl -ba .github/workflows/build.yml | sed -n '10,35p'
else
  echo "File not found: .github/workflows/build.yml"
fi

echo
echo "== Search for pnpm/action-setup usage =="
rg -n "pnpm/action-setup@" .github/workflows || true

Repository: HugoRCD/default-repository

Length of output: 168


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== build.yml (around lines 10-35) =="
if [ -f .github/workflows/build.yml ]; then
  cat -n .github/workflows/build.yml | sed -n '10,35p'
else
  echo "File not found: .github/workflows/build.yml"
fi

echo
echo "== Search for pnpm/action-setup usage =="
rg -n "pnpm/action-setup@" .github/workflows || true

Repository: HugoRCD/default-repository

Length of output: 779


Pin pnpm/action-setup to an immutable reference (commit SHA/digest).

.github/workflows/build.yml uses pnpm/action-setup@v6 (mutable tag). The same tag is used in .github/workflows/ci.yml and .github/workflows/autofix.yml; pin each to a commit SHA.

🧰 Tools
🪛 zizmor (1.25.2)

[error] 18-18: unpinned action reference (unpinned-uses): action is not pinned to a hash (required by blanket policy)

(unpinned-uses)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/build.yml around lines 18 - 20, The workflow uses an
unstable tag "pnpm/action-setup@v6"; replace that mutable reference with an
immutable commit SHA or digest in .github/workflows/build.yml (and likewise in
.github/workflows/ci.yml and .github/workflows/autofix.yml) by updating the uses
value (e.g. change pnpm/action-setup@v6 to pnpm/action-setup@<commit-sha>) so
the action is pinned to a specific commit; ensure all occurrences of
pnpm/action-setup@v6 are updated consistently and run a workflow lint/CI check
to validate the new references.

@HugoRCD HugoRCD changed the title chore(pnpm): upgrade to v11 and add minimumReleaseAge chore: upgrade pnpm to v11 and add minimumReleaseAge May 21, 2026
@HugoRCD
HugoRCD merged commit 63a90cf into main May 21, 2026
5 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant