From b6f5eb53f8f79ead0893d63bea2d355511ea70c4 Mon Sep 17 00:00:00 2001 From: Theodore Omtzigt Date: Tue, 28 Apr 2026 10:25:41 -0400 Subject: [PATCH 1/2] ci(docs): force Node.js 24 for JavaScript actions actions/upload-pages-artifact@v4 in docs.yml internally pins actions/upload-artifact at a SHA that runs on Node.js 20, which GitHub deprecated 2025-09-19. The deprecation warning fires every time the docs build runs. Add FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true at the workflow env level -- the same fix already adopted in cmake.yml. This is the opt-in for the new default that GitHub will apply automatically on 2026-06-02; no behavior change beyond silencing the warning. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/docs.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 80a64afb7..68668ce9e 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -15,6 +15,12 @@ concurrency: group: pages cancel-in-progress: true +env: + # Force Node.js 24 for all JavaScript actions (eliminates Node.js 20 deprecation warnings + # from transitive deps inside actions/upload-pages-artifact, etc.). Becomes default + # 2026-06-02; this opt-in just brings the migration forward. Same pattern as cmake.yml. + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: build: runs-on: ubuntu-latest From e167a0b669a0089e5d4f98d95460d18a25a5377c Mon Sep 17 00:00:00 2001 From: Theodore Omtzigt Date: Tue, 28 Apr 2026 10:35:08 -0400 Subject: [PATCH 2/2] ci: extend Node.js 24 force to all remaining workflows Same fix as the previous commit, applied to every workflow that uses external GitHub Actions: - clang-tidy.yml (existing env block, just add the var) - conventional-commits.yml (was firing the warning on amannn/action-semantic-pull-request@v5) - coverage.yml - full-regression.yml - release.yml - sanitizers.yml After this, all 8 workflows in .github/workflows/ have the env var, matching the pattern already established by cmake.yml and docs.yml. The conventional-commits warning that motivated this expansion: Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: amannn/action-semantic-pull-request@v5 is gone after this change. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/clang-tidy.yml | 2 ++ .github/workflows/conventional-commits.yml | 4 ++++ .github/workflows/coverage.yml | 4 ++++ .github/workflows/full-regression.yml | 4 ++++ .github/workflows/release.yml | 4 ++++ .github/workflows/sanitizers.yml | 4 ++++ 6 files changed, 22 insertions(+) diff --git a/.github/workflows/clang-tidy.yml b/.github/workflows/clang-tidy.yml index 77445bd2c..22d34b994 100644 --- a/.github/workflows/clang-tidy.yml +++ b/.github/workflows/clang-tidy.yml @@ -20,6 +20,8 @@ on: env: BUILD_TYPE: Release + # Force Node.js 24 for all JavaScript actions (eliminates Node.js 20 deprecation warnings) + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true jobs: clang-tidy: diff --git a/.github/workflows/conventional-commits.yml b/.github/workflows/conventional-commits.yml index 4aad72630..a2aceea78 100644 --- a/.github/workflows/conventional-commits.yml +++ b/.github/workflows/conventional-commits.yml @@ -12,6 +12,10 @@ on: permissions: pull-requests: read +env: + # Force Node.js 24 for all JavaScript actions (eliminates Node.js 20 deprecation warnings) + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: lint-pr-title: runs-on: ubuntu-latest diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 8a46a2a23..a3256cdce 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -31,6 +31,10 @@ on: permissions: contents: read +env: + # Force Node.js 24 for all JavaScript actions (eliminates Node.js 20 deprecation warnings) + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: coverage: if: | diff --git a/.github/workflows/full-regression.yml b/.github/workflows/full-regression.yml index 19c3a1955..413fd4804 100644 --- a/.github/workflows/full-regression.yml +++ b/.github/workflows/full-regression.yml @@ -16,6 +16,10 @@ on: permissions: contents: read +env: + # Force Node.js 24 for all JavaScript actions (eliminates Node.js 20 deprecation warnings) + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: build: name: "${{ matrix.name }}" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dcacc4a3e..86d8b27a1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -33,6 +33,10 @@ on: permissions: contents: write +env: + # Force Node.js 24 for all JavaScript actions (eliminates Node.js 20 deprecation warnings) + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: release: if: github.event_name == 'push' diff --git a/.github/workflows/sanitizers.yml b/.github/workflows/sanitizers.yml index 5c227f28d..bc16080a6 100644 --- a/.github/workflows/sanitizers.yml +++ b/.github/workflows/sanitizers.yml @@ -21,6 +21,10 @@ on: permissions: contents: read +env: + # Force Node.js 24 for all JavaScript actions (eliminates Node.js 20 deprecation warnings) + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: sanitizers: if: |