Skip to content

Upgrade GitHub Actions (CI) and Node.js versions#4016

Open
adevade wants to merge 1 commit into
umami-software:masterfrom
adevade:patch-1
Open

Upgrade GitHub Actions (CI) and Node.js versions#4016
adevade wants to merge 1 commit into
umami-software:masterfrom
adevade:patch-1

Conversation

@adevade
Copy link
Copy Markdown

@adevade adevade commented Feb 9, 2026

Tried this on my fork, and it ran the full test suite successfully: https://github.com/adevade/umami/actions/runs/21833913000/job/62999387890

Copilot AI review requested due to automatic review settings February 9, 2026 17:16
@vercel
Copy link
Copy Markdown

vercel Bot commented Feb 9, 2026

@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-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Feb 9, 2026

Greptile Overview

Greptile Summary

This PR upgrades the CI workflow with newer GitHub Actions and Node.js versions. The changes modernize the build pipeline by updating actions/checkout from v4 to v6, actions/setup-node from v4 to v6, and Node.js from 18.18 to 24. The pnpm version was changed from a pinned v10 to latest, and the run_install: false option was removed.

Key changes:

  • GitHub Actions upgraded to latest major versions (v6)
  • Node.js version bumped from 18.18 to 24 (major version jump)
  • pnpm now uses latest instead of pinned v10
  • Successfully tested on author's fork with full test suite passing

Considerations:

  • Node.js 24 is significantly newer than the documented minimum requirement of 18.18+ in README.md
  • Production Dockerfile uses Node 22, creating a version mismatch with CI (24)
  • The large Node.js version jump may affect users on older versions
  • Using pnpm latest instead of a pinned version may introduce future inconsistencies

Confidence Score: 4/5

  • This PR is safe to merge with minor considerations about documentation and version alignment
  • The changes are well-tested (successful CI run on fork), upgrade to maintained versions, and follow best practices. Score of 4 (not 5) reflects the Node.js version mismatch between CI (24), Dockerfile (22), and documentation (18.18+), plus the switch to unpinned pnpm latest which could introduce variability
  • No files require special attention - the workflow changes are straightforward

Important Files Changed

Filename Overview
.github/workflows/ci.yml Upgraded GitHub Actions (checkout v4→v6, setup-node v4→v6), pnpm setup (v10→latest), and Node.js (18.18→24). Changes tested successfully on fork.

Copy link
Copy Markdown
Contributor

@greptile-apps greptile-apps Bot left a comment

Choose a reason for hiding this comment

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

1 file reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

Comment thread .github/workflows/ci.yml
Comment on lines +19 to +22
- name: Use Node.js 24
uses: actions/setup-node@v6
with:
node-version: 18.18
cache: "pnpm"
node-version: 24
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

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/checkout and actions/setup-node versions used by CI.
  • Updated CI Node.js version from 18.18 to 24.
  • Changed pnpm setup to use pnpm/action-setup with version: latest and adjusted pnpm caching config.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/ci.yml
run_install: false
- name: Use Node.js 18.18
uses: actions/setup-node@v4
version: latest
Copy link

Copilot AI Feb 9, 2026

Choose a reason for hiding this comment

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

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.

Suggested change
version: latest
version: 9

Copilot uses AI. Check for mistakes.
Comment thread .github/workflows/ci.yml
cache: "pnpm"
node-version: 24
cache: pnpm
- run: npm install --global pnpm
Copy link

Copilot AI Feb 9, 2026

Choose a reason for hiding this comment

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

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.

Suggested change
- run: npm install --global pnpm

Copilot uses AI. Check for mistakes.
Comment thread .github/workflows/ci.yml
Comment on lines +15 to 21
- 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:
Copy link

Copilot AI Feb 9, 2026

Choose a reason for hiding this comment

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

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.

Copilot uses AI. Check for mistakes.
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.

2 participants