Upgrade GitHub Actions (CI) and Node.js versions#4016
Conversation
|
@adevade is attempting to deploy a commit to the umami-software Team on Vercel. A member of the Team first needs to authorize it. |
Greptile OverviewGreptile SummaryThis PR upgrades the CI workflow with newer GitHub Actions and Node.js versions. The changes modernize the build pipeline by updating Key changes:
Considerations:
Confidence Score: 4/5
Important Files Changed
|
| - name: Use Node.js 24 | ||
| uses: actions/setup-node@v6 | ||
| with: | ||
| node-version: 18.18 | ||
| cache: "pnpm" | ||
| node-version: 24 |
There was a problem hiding this comment.
Node.js 24 is significantly newer than documented requirement (18.18+). Consider:
- Updating README.md to reflect minimum supported version
- Verifying production Dockerfile (currently uses Node 22) aligns with CI testing
- Ensuring all dependencies support Node 24
The jump from 18.18 → 24 may expose issues in user environments still on older versions.
There was a problem hiding this comment.
Pull request overview
Updates the CI workflow to use newer GitHub Actions and a newer Node.js runtime for running the project’s pnpm-based test/build pipeline.
Changes:
- Upgraded
actions/checkoutandactions/setup-nodeversions used by CI. - Updated CI Node.js version from 18.18 to 24.
- Changed pnpm setup to use
pnpm/action-setupwithversion: latestand adjusted pnpm caching config.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| run_install: false | ||
| - name: Use Node.js 18.18 | ||
| uses: actions/setup-node@v4 | ||
| version: latest |
There was a problem hiding this comment.
pnpm/action-setup is configured with version: latest, which makes CI non-reproducible and can cause unexpected breakages when pnpm releases new majors. Pin pnpm to a specific major/minor (ideally matching the lockfile/tooling expectations) instead of tracking latest.
| version: latest | |
| version: 9 |
| cache: "pnpm" | ||
| node-version: 24 | ||
| cache: pnpm | ||
| - run: npm install --global pnpm |
There was a problem hiding this comment.
CI currently sets up pnpm via pnpm/action-setup, but then also runs npm install --global pnpm. This is redundant and can override the pnpm version you intended to use (especially when combined with version: latest). Prefer a single installation mechanism (either rely on pnpm/action-setup or install via npm/corepack) to keep the toolchain deterministic.
| - run: npm install --global pnpm |
| - uses: actions/checkout@v6 | ||
| - uses: pnpm/action-setup@v4 | ||
| with: | ||
| version: 10 | ||
| run_install: false | ||
| - name: Use Node.js 18.18 | ||
| uses: actions/setup-node@v4 | ||
| version: latest | ||
| - name: Use Node.js 24 | ||
| uses: actions/setup-node@v6 | ||
| with: |
There was a problem hiding this comment.
This workflow bumps actions/checkout and actions/setup-node to @v6, but other workflows in this repo still use older majors (e.g. checkout@v5 in cd.yml, checkout@v3 in cd-cloud.yml). If the intent is a repo-wide Actions upgrade, consider aligning these versions across workflows to reduce maintenance overhead and avoid different behavior between pipelines.
Tried this on my fork, and it ran the full test suite successfully: https://github.com/adevade/umami/actions/runs/21833913000/job/62999387890