Skip to content

chore: upgrade Node.js 20 actions to v24#65

Merged
ajianaz merged 1 commit into
developfrom
fix/upgrade-nodejs-v24
May 29, 2026
Merged

chore: upgrade Node.js 20 actions to v24#65
ajianaz merged 1 commit into
developfrom
fix/upgrade-nodejs-v24

Conversation

@ajianaz

@ajianaz ajianaz commented May 29, 2026

Copy link
Copy Markdown
Collaborator

Closes #41

@coderabbitai

coderabbitai Bot commented May 29, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@ajianaz, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 36 minutes and 39 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: c1dd8911-a118-43e1-ac00-0226b8fa9182

📥 Commits

Reviewing files that changed from the base of the PR and between 6fff457 and 6701f49.

📒 Files selected for processing (1)
  • .github/workflows/deploy-website.yml
📝 Walkthrough

Walkthrough

The GitHub Actions deployment workflow updates its Node.js runtime from version 20 to version 24 on line 27 of the deploy workflow file. This change affects the build environment for all subsequent install, build, verify, and deployment steps executed during the workflow run.

Changes

Node.js Version Update

Layer / File(s) Summary
Node.js version configuration
.github/workflows/deploy-website.yml
The node-version field in the workflow's setup-node action is updated from 20 to 24, upgrading the Node.js runtime used for subsequent build and deployment steps.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Poem

🐰 A rabbit hops through workflows so fine,
Version bumps march along the line,
Node twenty becomes twenty-four,
Deprecation warnings trouble no more! 🚀

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Linked Issues check ❓ Inconclusive The PR addresses issue #41 by upgrading the deploy-website workflow to use Node.js 24, but only updates one workflow file when issue #41 identifies six affected actions across potentially multiple workflows that need upgrading. Verify whether this PR is intended to be a partial fix (deploy-website only) or if additional workflows with affected actions still need to be updated to fully resolve issue #41.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: upgrading Node.js from version 20 to version 24 in GitHub Actions, which matches the primary objective of the pull request.
Out of Scope Changes check ✅ Passed All changes are directly related to the stated objective of upgrading Node.js 20 to Node.js 24 in GitHub Actions workflows; no extraneous modifications are present.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/upgrade-nodejs-v24

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.

@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: 1

🧹 Nitpick comments (1)
.github/workflows/deploy-website.yml (1)

27-27: ⚡ Quick win

Consider using .nvmrc file for Node.js version management.

According to the repo's Playwright configuration knowledge, the convention is to keep .nvmrc versioned to keep local and CI environments aligned. Instead of hardcoding node-version: 24, consider using:

node-version-file: '.nvmrc'

This approach ensures consistency between local development (using nvm or similar tools) and CI environments, preventing "works on my machine" issues.

As per coding guidelines: "Keep .nvmrc and dependency versions versioned to keep local/CI aligned."

🤖 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/deploy-website.yml at line 27, Change the hardcoded Node
version in the GitHub Actions workflow by replacing the "node-version: 24"
setting with the workflow key that reads the project's .nvmrc file (use
"node-version-file: '.nvmrc'") so CI uses the same Node runtime as local dev;
update the job step where "node-version" is defined to use "node-version-file"
instead and ensure .nvmrc is present and committed to the repo.
🤖 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/deploy-website.yml:
- Line 27: The workflow change only sets node-version: 24 for the build steps
but leaves pinned actions (actions/checkout@v4, actions/setup-node@v4,
cloudflare/wrangler-action@v3) running on Node 20; update those action pins to
Node-24-compatible releases (e.g., actions/checkout@v6+, actions/setup-node@v6+,
cloudflare/wrangler-action@v4+) or, as a temporary workaround, add env: {
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true } at the workflow or job level so the
JavaScript actions run under Node 24.

---

Nitpick comments:
In @.github/workflows/deploy-website.yml:
- Line 27: Change the hardcoded Node version in the GitHub Actions workflow by
replacing the "node-version: 24" setting with the workflow key that reads the
project's .nvmrc file (use "node-version-file: '.nvmrc'") so CI uses the same
Node runtime as local dev; update the job step where "node-version" is defined
to use "node-version-file" instead and ensure .nvmrc is present and committed to
the repo.
🪄 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: defaults

Review profile: CHILL

Plan: Pro

Run ID: 3ae316a5-10a0-4768-a4d4-2b3d90bba4a6

📥 Commits

Reviewing files that changed from the base of the PR and between 30ef4e7 and 6fff457.

📒 Files selected for processing (1)
  • .github/workflows/deploy-website.yml

- uses: actions/setup-node@v4
with:
node-version: 20
node-version: 24

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 | 🏗️ Heavy lift

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check for .nvmrc file convention
echo "=== Checking for .nvmrc file ==="
if [ -f .nvmrc ]; then
  echo "Found .nvmrc with version:"
  cat .nvmrc
else
  echo "No .nvmrc file found"
fi

# Search for other workflows to check consistency
echo -e "\n=== Checking node-version usage across workflows ==="
rg -n 'node-version:' .github/workflows/ || echo "No other node-version found"
rg -n 'node-version-file:' .github/workflows/ || echo "No node-version-file found"

Repository: ajianaz/uteke

Length of output: 259


🌐 Web query:

Do actions/checkout@v4, actions/setup-node@v4 support Node.js 24 runtime?

💡 Result:

No, actions/checkout@v4 and actions/setup-node@v4 do not support the Node.js 24 runtime; they were built using the Node.js 20 runtime [1][2][3]. To use Node.js 24, you must migrate to the newer versions of these actions, specifically actions/checkout@v6 and actions/setup-node@v6 (or later), which have been updated to the Node.js 24 runtime [4][5][6]. Key points regarding this requirement: - Version Compatibility: The newer v6 actions require your GitHub Actions runner to be on version v2.327.1 or later to function correctly with the Node.js 24 runtime [4][5][6]. - Official Guidance: GitHub has deprecated Node.js 20-based actions, with requirements transitioning toward mandatory Node.js 24 support for actions [1]. - Configuration: You can specify Node.js 24 in your workflow using actions/setup-node@v6 as follows [5][6]: - uses: actions/setup-node@v6 with: node-version: '24'

Citations:


🏁 Script executed:

#!/bin/bash
set -euo pipefail
sed -n '1,120p' .github/workflows/deploy-website.yml | nl -ba | sed -n '1,120p'

Repository: ajianaz/uteke

Length of output: 100


🏁 Script executed:

#!/bin/bash
set -euo pipefail
cat -n .github/workflows/deploy-website.yml | sed -n '1,120p'

Repository: ajianaz/uteke

Length of output: 2140


🌐 Web query:

Is FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true a supported GitHub Actions workaround for Node 20 deprecation warnings? What does it do and where should it be set?

💡 Result:

Yes, FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true is a supported, official GitHub Actions environment variable designed to help users test and opt into the Node.js 24 runtime ahead of the platform's default migration [1][2]. What it does: This setting forces GitHub Actions runners to execute JavaScript-based actions using the Node.js 24 runtime, even if the action is explicitly configured to use Node.js 20 [1][3]. It serves as a temporary mitigation for users who cannot immediately update to action versions that natively support Node.js 24, allowing workflows to remain functional as GitHub transitions away from Node.js 20 [4][3]. Note: While this setting effectively changes the runtime, some users have reported that the end-of-job deprecation annotation may still fire for actions that declare node20 support, sometimes with a message indicating they are being forced to run on Node.js 24 [5]. Where to set it: You can set this variable in two primary ways: 1. Workflow level (Recommended): Add it to the env section of your YAML workflow file [1][4]. This provides job-specific control and overrides any runner-level settings [1]. env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true 2. Runner level: Set it as a system environment variable on the self-hosted runner machine [1][2]. As a best practice, this should be treated as a temporary workaround. The long-term solution is to update your workflow to use newer versions of actions that have officially migrated to Node.js 24 [4].

Citations:


🌐 Web query:

Do Infisical/secrets-action@v1.0.9 and cloudflare/wrangler-action@v3 support the Node.js 24 runtime / are they Node 20 based?

💡 Result:

Infisical/secrets-action@v1.0.9: No explicit evidence found (in sources retrieved) that it is based on Node 20 vs Node 24; the action’s docs/metadata in the retrieved material didn’t state the runner Node version or any Node “engine”/“runs.using” value for v1.0.9. So I can’t confirm Node 24 support from the evidence gathered. cloudflare/wrangler-action@v3: Yes—its action definition uses the GitHub Actions runner “node20” runtime (not Node 24), meaning it is Node 20 based as written in action.yml (runs.using: "node20"). [1] So, based on the retrieved authoritative metadata: wrangler-action@v3 is Node 20 based, not Node 24 based; Infisical/secrets-action@v1.0.9’s Node 24/Node 20 basis could not be confirmed from the evidence retrieved. Note: There’s also an open GitHub issue claiming wrangler-action@v3 may be forced to run with Node 24 by default on GitHub runners starting a future date, but that’s not the same as the action declaring/supporting Node 24 itself. [2]

Citations:


🌐 Web query:

cloudflare/wrangler-action what version(s) use Node.js 24 (runs.using) vs node20? (e.g., v3 vs v4/v5)

💡 Result:

cloudflare/wrangler-action Node.js runtime mapping (runs.using): 1) wrangler-action@v3 - Uses Node.js 20 for the GitHub Actions JavaScript runner (action.yml shows runs.using: "node20" on the v3 line) [1]. - Around v3 timeframe, the project explicitly discussed that v3 actions were running on Node.js 20 and would be forced to run on Node.js 24 by GitHub starting June 2, 2026 unless/ until updated versions were used [2]. 2) wrangler-action@v3 versions when the repo is updated for Node 24 - PR #415 states “Upgrade action runtime: node20 → node24” and indicates action.yml was updated accordingly (so newer builds of the v3 tag/digest after that change will use node24) [3][4]. 3) wrangler-action@v4 (v4.0.0 and later) - Uses Node.js 24 for the action runner (the v4.0.0 release is after the Node 24 upgrade work, with PR #415 introducing the node20 → node24 change and v4.0.0 describing the default Wrangler v4 bump) [5][3]. So, the practical answer to “what version(s) use Node.js 24 (runs.using) vs node20?” - If you pin cloudflare/wrangler-action@v3 and you’re on an older v3 revision, it uses runs.using: node20 [1]. - After the Node 24 upgrade in the repo, v3 may move to runs.using: node24 (per PR #415) [3][4]. - v4.0.0+ uses runs.using: node24 [5][3]. Note: this is about the GitHub Action runner runtime for the action itself (action.yml “runs.using”), not your Worker’s Node runtime.

Citations:


Fix: updating node-version to 24 won’t address Node 20 deprecation warnings from the pinned actions

  • .github/workflows/deploy-website.yml sets node-version: 24 for actions/setup-node@v4, but that only changes the Node version used by your build steps—not the Node runtime used internally by JavaScript-based actions.
  • This workflow still pins Node-20-based actions: actions/checkout@v4, actions/setup-node@v4, and cloudflare/wrangler-action@v3 (all run with node20), so the deprecation warnings in issue #41 won’t be resolved by this change alone.
  • There is no .nvmrc in the repo, so the version is hardcoded in the workflow.

To actually mitigate/solve the warnings, either:

  • Upgrade to Node 24-capable action versions (e.g., actions/checkout@v6+, actions/setup-node@v6+, and cloudflare/wrangler-action@v4+), or
  • Add env: { FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true } at the workflow/job level as a temporary workaround.
🤖 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/deploy-website.yml at line 27, The workflow change only
sets node-version: 24 for the build steps but leaves pinned actions
(actions/checkout@v4, actions/setup-node@v4, cloudflare/wrangler-action@v3)
running on Node 20; update those action pins to Node-24-compatible releases
(e.g., actions/checkout@v6+, actions/setup-node@v6+,
cloudflare/wrangler-action@v4+) or, as a temporary workaround, add env: {
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true } at the workflow or job level so the
JavaScript actions run under Node 24.

@ajianaz
ajianaz force-pushed the fix/upgrade-nodejs-v24 branch from 6fff457 to 6701f49 Compare May 29, 2026 16:38
@ajianaz
ajianaz merged commit bd0db7a into develop May 29, 2026
7 checks passed
@ajianaz
ajianaz deleted the fix/upgrade-nodejs-v24 branch May 30, 2026 04:55
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.

chore: upgrade Node.js 20 actions to v24

1 participant