Skip to content

ENG-3198: Upgrade Node.js from 20 to 24 and bump CI actions#7885

Merged
gilluminate merged 4 commits intomainfrom
gill/ENG-3198/upgrade-node-to-24
Apr 10, 2026
Merged

ENG-3198: Upgrade Node.js from 20 to 24 and bump CI actions#7885
gilluminate merged 4 commits intomainfrom
gill/ENG-3198/upgrade-node-to-24

Conversation

@gilluminate
Copy link
Copy Markdown
Contributor

@gilluminate gilluminate commented Apr 9, 2026

Ticket ENG-3198

Description Of Changes

Standardizes all remaining Node 20 references to Node 24 across Dockerfiles and CI workflows. Two workflows (frontend_checks.yml and chromatic.yml) were already on Node 24 -- this brings the rest in line.

Also bumps all GitHub Actions to their latest major versions to address Node.js 20 deprecation warnings. Node 20 will be removed from GitHub Actions runners on September 16, 2026.

Code Changes

Node 24 upgrade:

  • Dockerfile -- Updated node:20-alpine to node:24-alpine for both frontend and prod_pc stages
  • clients/sample-app/Dockerfile -- Updated node:20-alpine to node:24-alpine
  • .github/workflows/cypress_admin-ui.yml -- Updated node-version from 20.x to 24.x in both jobs
  • .github/workflows/cypress_privacy-center.yml -- Updated node-version from 20.x to 24.x
  • .github/workflows/cypress_fides-js.yml -- Updated node-version from 20.x to 24.x
  • .github/workflows/publish_package.yaml -- Updated node-version from 20 to 24

GitHub Actions version bumps across all workflow files:

Action Old New
actions/checkout v4/v5 v6
actions/cache v4 v5
actions/cache/restore v4 v5
actions/download-artifact v4 v8
actions/upload-artifact v4 v7
actions/setup-node v4 v5
cypress-io/github-action v6 v7
docker/login-action v3 v4
docker/setup-buildx-action v3 v4
dorny/paths-filter v3 v4
peter-evans/repository-dispatch v3 v4

Steps to Confirm

  1. Verify all CI workflows pass with Node 24 and updated actions
  2. Confirm Docker builds succeed (docker build --target frontend .)
  3. Verify no Node.js 20 deprecation warnings remain in CI logs
  4. Grep for any remaining old versions: grep -rn "uses:.*@v[0-9]" .github/workflows/ | sed 's/.*uses: *//' | sort -u

Pre-Merge Checklist

  • Issue requirements met
  • All CI pipelines succeeded
  • CHANGELOG.md updated
    • Add a db-migration label
    • Add a high-risk label
    • Updates unreleased work already in Changelog
  • UX feedback:
    • No UX review needed
  • Followup issues:
    • No followup issues
  • Database migrations:
    • No migrations
  • Documentation:
    • No documentation updates required

🤖 Generated with Claude Code

gilluminate and others added 2 commits April 9, 2026 16:06
Standardizes all remaining Node 20 references to Node 24, matching
the two workflows (frontend_checks, chromatic) already on 24.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented Apr 9, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

2 Skipped Deployments
Project Deployment Actions Updated (UTC)
fides-plus-nightly Ignored Ignored Preview Apr 9, 2026 10:30pm
fides-privacy-center Ignored Ignored Apr 9, 2026 10:30pm

Request Review

Addresses Node.js 20 deprecation warning in GitHub Actions. The old
versions run on Node 20 internally, which will be removed from runners
on September 16, 2026.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@gilluminate gilluminate changed the title ENG-3198: Upgrade Node.js from 20 to 24 ENG-3198: Upgrade Node.js from 20 to 24 and bump CI actions Apr 9, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 9, 2026

Title Lines Statements Branches Functions
admin-ui Coverage: 7%
5.87% (2547/43323) 4.88% (1199/24531) 3.95% (508/12838)
fides-js Coverage: 78%
78.98% (1962/2484) 65.55% (1214/1852) 72.57% (336/463)
privacy-center Coverage: 88%
85.93% (330/384) 81.1% (176/217) 78.87% (56/71)

actions/cache v4 -> v5, actions/download-artifact v4 -> v8,
actions/upload-artifact v4 -> v7, cypress-io/github-action v6 -> v7,
docker/login-action v3 -> v4, docker/setup-buildx-action v3 -> v4,
peter-evans/repository-dispatch v3 -> v4.

Addresses Node.js 20 deprecation warnings from these actions.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 9, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 85.08%. Comparing base (7192e68) to head (bc63cbb).
⚠️ Report is 17 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #7885   +/-   ##
=======================================
  Coverage   85.07%   85.08%           
=======================================
  Files         627      627           
  Lines       40780    40794   +14     
  Branches     4742     4742           
=======================================
+ Hits        34694    34709   +15     
  Misses       5017     5017           
+ Partials     1069     1068    -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@gilluminate gilluminate marked this pull request as ready for review April 9, 2026 22:57
@gilluminate gilluminate requested a review from a team as a code owner April 9, 2026 22:57
@gilluminate gilluminate requested review from speaker-ender and removed request for a team April 9, 2026 22:57
Copy link
Copy Markdown
Contributor

@claude claude Bot left a comment

Choose a reason for hiding this comment

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

Code Review: CI/CD Action Version Bumps + Node 24 Upgrade

This is a clean, well-scoped maintenance PR. All workflows and Dockerfiles are updated consistently, and the changelog entry is included. Two items worth addressing before merge:


Notable Concerns

1. upload-artifact / download-artifact version skew (all affected workflows)

Across every workflow that passes artifacts between jobs, upload-artifact is bumped to @v7 while download-artifact is bumped to @v8. These two actions must use a compatible artifact storage backend. GitHub has historically made breaking changes between major versions of these actions (e.g., v3→v4 changed the storage API entirely, requiring both sides to be updated together). The same risk applies here if v7 and v8 don't share the same backend.

Affected files: backend_checks.yml, cypress_admin-ui.yml, cypress_fides-js.yml, cypress_privacy-center.yml. Please confirm the v7/v8 compatibility or align both to the same major version.

2. Node 24 "Current" vs. Node 22 LTS

Node 20 EOL is April 2026, making the upgrade timely. However, Node 24 (released April 2026) is on the "Current" release line and won't enter Active LTS until October 2026. Node 22 is the current Active LTS with support through April 2027. For production Docker images (Dockerfile, clients/sample-app/Dockerfile) in particular, LTS is usually the more conservative and supportable choice. Worth an explicit decision either way.


Everything Else Looks Good

  • actions/checkout v4/v5 → v6: consistent across all workflows ✓
  • actions/cache v4 → v5: consistent ✓
  • dorny/paths-filter v3 → v4: consistent ✓
  • docker/login-action v3 → v4: consistent ✓
  • docker/setup-buildx-action v3 → v4: consistent ✓
  • cypress-io/github-action v6 → v7: consistent ✓
  • peter-evans/repository-dispatch v3 → v4: consistent ✓
  • actions/setup-node v4 → v5 (where applicable): consistent ✓
  • Even the commented-out upload-artifact in cypress_admin-ui.yml is updated — good attention to detail.

🔬 Codegraph: connected (42425 nodes)


💡 Write /code-review in a comment to re-run this review.

Comment thread .github/workflows/backend_checks.yml
Comment thread Dockerfile
@gilluminate gilluminate added this pull request to the merge queue Apr 10, 2026
Merged via the queue into main with commit c2e263f Apr 10, 2026
76 of 79 checks passed
@gilluminate gilluminate deleted the gill/ENG-3198/upgrade-node-to-24 branch April 10, 2026 15:10
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