Conversation
Test Results 7 files 53 suites 5m 47s ⏱️ Results for commit 1d1f2b6. ♻️ This comment has been updated with latest results. |
There was a problem hiding this comment.
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: trueto 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 |
There was a problem hiding this comment.
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.
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true | |
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true" |
| contents: read | ||
|
|
||
| env: | ||
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true |
There was a problem hiding this comment.
Consider quoting the env value (e.g., "true") so this opt-in flag is unambiguously a string environment variable rather than a YAML boolean.
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true | |
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true" |
| contents: read | ||
|
|
||
| env: | ||
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true |
There was a problem hiding this comment.
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.
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true | |
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true" |
| contents: read | ||
|
|
||
| env: | ||
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true |
There was a problem hiding this comment.
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.
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true | |
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true" |
| contents: read | ||
|
|
||
| env: | ||
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true |
There was a problem hiding this comment.
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.
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true | |
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true" |
| contents: read | ||
|
|
||
| env: | ||
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true |
There was a problem hiding this comment.
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.
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true | |
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true" |
| env: | ||
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true | ||
|
|
There was a problem hiding this comment.
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).
| env: | ||
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true | ||
|
|
There was a problem hiding this comment.
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.
Codecov Report✅ All modified and coverable lines are covered by tests. 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
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24matches 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
node20version before checking the override. The actions will still run onNode 24at 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.