Skip to content

Migrate to Node 24#2740

Merged
arkid15r merged 1 commit intomainfrom
ark/node-24
Nov 27, 2025
Merged

Migrate to Node 24#2740
arkid15r merged 1 commit intomainfrom
ark/node-24

Conversation

@arkid15r
Copy link
Collaborator

Proposed change

Node 24 migration.

Checklist

  • I've read and followed the contributing guidelines.
  • I've run make check-test locally; all checks and tests passed.

@github-actions github-actions bot added backend frontend docker Pull requests that update Docker code ci labels Nov 27, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 27, 2025

Summary by CodeRabbit

  • Chores
    • Upgraded Node.js runtime from version 22 to version 24 across all build configurations and development environments.

✏️ Tip: You can customize this high-level summary in your review settings.

Walkthrough

Comprehensive Node.js runtime upgrade from version 22 to 24 across GitHub Actions workflows, Docker configurations, and package dependency declarations. All changes are version number updates with no functional logic or control flow modifications.

Changes

Cohort / File(s) Summary
GitHub Actions Workflows
.github/workflows/run-ci-cd.yaml, .github/workflows/run-code-ql.yaml
Node.js version updated from 22 to 24 in workflow node-version setup steps
Docker Base Images
cspell/Dockerfile, frontend/docker/Dockerfile, frontend/docker/Dockerfile.local, frontend/docker/Dockerfile.unit.test
Base image tag updated from node:22-alpine to node:24-alpine in single or multi-stage builds
Package Configuration
frontend/package.json
Node engine constraint updated from "22" to "24" in engines field

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

  • All changes follow a consistent, homogeneous pattern (version string replacement)
  • No logic modifications, control flow changes, or API alterations
  • Low cognitive load required; changes are straightforward and repetitive across files

Possibly related PRs

Suggested reviewers

  • kasya

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Migrate to Node 24' accurately and concisely summarizes the primary change across all modified files, which consistently update Node.js from version 22 to 24.
Description check ✅ Passed The description 'Node 24 migration' is directly related to the changeset, which involves updating Node.js version across multiple configuration and Docker files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch ark/node-24

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6dee343 and 511c2b8.

⛔ Files ignored due to path filters (3)
  • backend/poetry.lock is excluded by !**/*.lock
  • docs/poetry.lock is excluded by !**/*.lock
  • frontend/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (7)
  • .github/workflows/run-ci-cd.yaml (2 hunks)
  • .github/workflows/run-code-ql.yaml (1 hunks)
  • cspell/Dockerfile (1 hunks)
  • frontend/docker/Dockerfile (1 hunks)
  • frontend/docker/Dockerfile.local (2 hunks)
  • frontend/docker/Dockerfile.unit.test (1 hunks)
  • frontend/package.json (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: Run frontend e2e tests
  • GitHub Check: Run frontend unit tests
  • GitHub Check: Run backend tests
  • GitHub Check: CodeQL (javascript-typescript)
🔇 Additional comments (10)
cspell/Dockerfile (1)

1-1: Base image version update consistent and complete.

The update from node:22-alpine to node:24-alpine aligns with the overall Node 24 migration. No other Dockerfile logic changes detected.

frontend/docker/Dockerfile (1)

1-1: Base image version update consistent across multi-stage build.

The update from node:22-alpine to node:24-alpine in the base stage aligns with the overall migration. All downstream stages properly inherit from the updated base.

.github/workflows/run-ci-cd.yaml (2)

82-82: Node version updated in check-frontend job.

Line 82 correctly updates the actions/setup-node step to Node 24, aligning with the frontend package environment upgrade.


570-570: Node version updated in run-lighthouse-ci job.

Line 570 correctly updates the actions/setup-node step to Node 24, maintaining consistency across all CI environments.

frontend/docker/Dockerfile.local (2)

1-1: Builder stage base image updated to Node 24.

Line 1 correctly updates the builder stage base image from node:22-alpine to node:24-alpine for local development.


32-32: Runtime stage base image updated to Node 24.

Line 32 correctly updates the final stage base image from node:22-alpine to node:24-alpine, maintaining consistency between builder and runtime.

.github/workflows/run-code-ql.yaml (1)

48-48: Node version updated in CodeQL workflow.

Line 48 correctly updates the actions/setup-node step to Node 24 for javascript-typescript CodeQL analysis, maintaining consistency with other CI environments.

frontend/docker/Dockerfile.unit.test (1)

1-1: Base image version updated to Node 24 for unit tests.

Line 1 correctly updates the base image from node:22-alpine to node:24-alpine, aligning with the Node 24 migration across all frontend Docker environments.

frontend/package.json (2)

122-122: Node engine constraint updated to 24.

Line 122 correctly updates the engines.node constraint from "22" to "24", which allows all 24.x.x versions. This change aligns with all Docker and CI/CD updates across the PR.


1-136: Verify Node 22→24 compatibility before merging.

The PR migrates from Node 22 to 24 (a 2-major-version jump). While the PR description confirms local tests passed, please verify that the codebase has no Node 22→24 breaking change incompatibilities. Consider checking for deprecated APIs, changed security defaults, or module behavior shifts that could affect runtime or dependencies.
Based on the web search results, I can now provide a more informed review comment on Node 22→24 compatibility. Node.js 24 has entered Long-Term Support (LTS) and will continue to receive updates through to the end of April 2028. The key breaking changes include OpenSSL 3.5 with stricter cryptographic standards (keys shorter than 2048 bits for RSA/DSA/DH and 224 bits for ECC are prohibited; RC4-based cipher suites are no longer permitted), removal of legacy APIs like util.is*() methods, fs.truncate() with file descriptors, and tls.createSecurePair(), and stricter fetch() compliance, AbortSignal validation, stream/pipe errors now throwing, and changes to Buffer behavior.

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


Tip

✨ Issue Enrichment is now available for GitHub issues!

CodeRabbit can now help you manage issues more effectively:

  • Duplicate Detection — Identify similar or duplicate issues
  • Related Issues & PRs — Find relevant issues and PR's from your repository
  • Suggested Assignees — Find the best person to work on the issue
  • Implementation Planning — Generate detailed coding plans for engineers and agents
Disable automatic issue enrichment

To disable automatic issue enrichment, add the following to your .coderabbit.yaml:

issue_enrichment:
  auto_enrich:
    enabled: false

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.

❤️ Share

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

@sonarqubecloud
Copy link

@arkid15r arkid15r marked this pull request as ready for review November 27, 2025 01:18
@arkid15r arkid15r requested a review from kasya as a code owner November 27, 2025 01:18
@arkid15r arkid15r enabled auto-merge November 27, 2025 01:18
Copy link
Collaborator

@kasya kasya left a comment

Choose a reason for hiding this comment

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

LGTM!

@arkid15r arkid15r added this pull request to the merge queue Nov 27, 2025
Merged via the queue into main with commit 2fb5c0a Nov 27, 2025
28 checks passed
@arkid15r arkid15r deleted the ark/node-24 branch November 27, 2025 02:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend ci docker Pull requests that update Docker code frontend

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments