Skip to content

Github actions using Node24#2428

Open
soumeh01 wants to merge 8 commits intomainfrom
use-node-24
Open

Github actions using Node24#2428
soumeh01 wants to merge 8 commits intomainfrom
use-node-24

Conversation

@soumeh01
Copy link
Copy Markdown
Contributor

@soumeh01 soumeh01 commented Apr 7, 2026

  • Added env variable name FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 matches GitHub's official documentation for the Node 24 opt-in mechanism.

Even after setting FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true, we still see the warning:
The following actions are running on Node.js 20 and may not work as expected: XYZ-action@v1.

There is a known runner-side bug where the deprecation warning annotation can still fire even with this variable set, because the runner evaluates the declared node20 version before checking the override. The actions will still run on Node 24 at runtime. The warning text is just misleading. This is a GitHub-side issue and not something this PR can or should address.

In short, even after this change is implemented, the warnings will persist due to the known bug, and are expected to disappear once the issue is resolved in GitHub Runner.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 7, 2026

Test Results

  7 files   53 suites   5m 47s ⏱️
185 tests 168 ✅ 17 💤 0 ❌
692 runs  624 ✅ 68 💤 0 ❌

Results for commit 1d1f2b6.

♻️ This comment has been updated with latest results.

@soumeh01 soumeh01 marked this pull request as ready for review April 15, 2026 07:40
Copy link
Copy Markdown
Contributor

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

This PR opts selected GitHub Actions workflows into running JavaScript-based actions on Node.js 24 by setting the documented FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 environment variable at the workflow level.

Changes:

  • Add workflow-level env.FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true to multiple CI workflows.
  • Apply the same opt-in flag consistently across tool/build/test workflows.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
.github/workflows/test_libs.yml Adds workflow-level Node 24 opt-in environment flag.
.github/workflows/svdconv.yml Adds workflow-level Node 24 opt-in environment flag.
.github/workflows/projmgr.yml Adds workflow-level Node 24 opt-in environment flag.
.github/workflows/packgen.yml Adds workflow-level Node 24 opt-in environment flag.
.github/workflows/packchk.yml Adds workflow-level Node 24 opt-in environment flag.
.github/workflows/buildmgr.yml Adds workflow-level Node 24 opt-in environment flag.

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

contents: read

env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

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

env: values in GitHub Actions are ultimately exported as strings. To avoid any YAML boolean coercion edge-cases (and to match typical patterns for opt-in flags), set FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 to a quoted string value like "true" instead of the YAML boolean true.

Suggested change
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"

Copilot uses AI. Check for mistakes.
contents: read

env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

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

Consider quoting the env value (e.g., "true") so this opt-in flag is unambiguously a string environment variable rather than a YAML boolean.

Suggested change
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"

Copilot uses AI. Check for mistakes.
contents: read

env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

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

Same as above: consider quoting the env value (e.g., "true") so this opt-in flag is unambiguously a string environment variable rather than a YAML boolean.

Suggested change
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"

Copilot uses AI. Check for mistakes.
contents: read

env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

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

Same as above: consider quoting the env value (e.g., "true") so this opt-in flag is unambiguously a string environment variable rather than a YAML boolean.

Suggested change
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"

Copilot uses AI. Check for mistakes.
contents: read

env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

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

Same as above: consider quoting the env value (e.g., "true") so this opt-in flag is unambiguously a string environment variable rather than a YAML boolean.

Suggested change
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"

Copilot uses AI. Check for mistakes.
contents: read

env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

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

Same as above: consider quoting the env value (e.g., "true") so this opt-in flag is unambiguously a string environment variable rather than a YAML boolean.

Suggested change
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"

Copilot uses AI. Check for mistakes.
Comment on lines +46 to +48
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true

Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

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

This workflow sets the Node24 opt-in flag, but jobs that call reusable workflows (uses: ./.github/workflows/shared_*) won’t automatically pass workflow-level env into the called workflow. If you need the override to apply to JS actions inside shared_matrix_prep.yml (it uses step-security/harden-runner and actions/checkout), set the env flag in that reusable workflow (or pass it via an input and re-export it there).

Copilot uses AI. Check for mistakes.
Comment on lines +41 to +43
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true

Copy link

Copilot AI Apr 17, 2026

Choose a reason for hiding this comment

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

If the intent is to opt the repository’s GitHub Actions into Node 24 broadly (per the PR title/description), note there are other workflows in .github/workflows/ that run JavaScript actions (e.g., codeql-analysis.yml, cpp-linter.yml, global.yaml, markdown.yml, nightly.yml, scorecard.yml, unit_test_results.yml, and the reusable shared_matrix_prep.yml) but do not set this env flag yet.

Copilot uses AI. Check for mistakes.
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 17, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 64.75%. Comparing base (741d013) to head (1d1f2b6).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2428   +/-   ##
=======================================
  Coverage   64.75%   64.75%           
=======================================
  Files         145      145           
  Lines       26171    26171           
  Branches    15801    15801           
=======================================
  Hits        16946    16946           
  Misses       7068     7068           
  Partials     2157     2157           
Flag Coverage Δ
buildmgr-cov 79.87% <ø> (ø)
packchk-cov 69.75% <ø> (ø)
packgen-cov 82.02% <ø> (ø)
projmgr-cov 87.74% <ø> (ø)
svdconv-cov 40.28% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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.

3 participants