chore(ci): opt every workflow into the Node.js 24 runner#39
Merged
Conversation
Adds FORCE_JAVASCRIPT_ACTIONS_TO_NODE24='true' to the top-level env block of all five workflows. Silences the runner-level warning that was firing on every actions/checkout, upload-artifact, and sticky- pull-request-comment step: Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026... Per GitHub's deprecation note this is the recommended early-opt-in path; it covers every JavaScript-based action in the workflow at once (1st-party AND 3rd-party) without needing per-action major- version bumps. The forced-default lands 2026-06-02 anyway and Node.js 20 is removed entirely 2026-09-16, so this is a temporary shim with a known sunset date. All five workflow YAMLs validated with PyYAML; `jobs:` keys preserved and parsed correctly. The CHANGELOG `[Unreleased]` section gets a Changed entry noting the env var and its sunset date. https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/ Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
SBOM diffNo dependency changes. |
Coverage reportLine coverage: 85.7% (9157 / 10679 lines) Full lcov report available as workflow artifact coverage-lcov: download from this run. v0.9.8 introduces this report; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Opts every workflow into the Node.js 24 runner ahead of GitHub's 2026-06-02 forced-default. Silences the runner-level warning that's been firing on every
actions/checkout,upload-artifact, and sticky-pull-request-comment step in v0.9.8's CI.Why this approach
GitHub's deprecation note explicitly recommends
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24as the early-opt-in path. It covers every JavaScript-based action in the workflow at once — bothactions/*(checkout, upload-artifact, download-artifact, upload-pages-artifact, deploy-pages) and 3rd-party (rustsec/audit-check, EmbarkStudios/cargo-deny-action, sigstore/cosign-installer, marocchino/sticky-pull-request-comment, softprops/action-gh-release, Swatinem/rust-cache) — without per-action major-version bumps and the migration risk those bring.The forced-default lands 2026-06-02 and Node.js 20 is removed entirely 2026-09-16, so this is a temporary shim with a known sunset date. The CHANGELOG entry calls that out.
Files
.github/workflows/ci.ymlenv:block.github/workflows/docs.ymlenv:block (no existing one).github/workflows/fuzz.ymlenv:block (no existing one).github/workflows/release.ymlenv:block.github/workflows/sbom-diff.ymlenv:block (no existing one)CHANGELOG.md[Unreleased]Changed entryValidation
All five workflow YAMLs parse clean under PyYAML (
yaml.safe_load);jobs:andenv:keys preserved correctly.This PR's own CI run is the dogfood — once it lands, the deprecation warning should be absent from the run logs.