From 59921ed2260befeb32269e303f08c363fa4a2890 Mon Sep 17 00:00:00 2001 From: Matt McKay Date: Fri, 12 Jun 2026 10:12:14 +1000 Subject: [PATCH] ci: bump actions to Node 24 runtimes ahead of the June 16 default GitHub forces the Node 24 runtime for JavaScript actions from 2026-06-16 (Node 20 removed from runners 2026-09-16). Bump each action to its lowest Node-24 major, all drop-in for our usage: - actions/checkout v4 -> v5 (pure node24 port; deliberately not v6, which changes credential persistence that update-snapshots.yml's branch push relies on) - actions/setup-node v4 -> v5 (node24; its packageManager auto-cache change is a no-op here - no packageManager field, cache: npm is explicit) - actions/upload-artifact v4 -> v5 (node24 port) - actions/github-script v7 -> v8 (node24; stable octokit API surface used here is unchanged) - softprops/action-gh-release v2 -> v3 (explicit node20->node24 major) daun/playwright-report-summary@v4 already runs node24 - unchanged. Runtimes verified against each tag's action.yml (runs.using: node24). Co-Authored-By: Claude Fable 5 --- .github/workflows/ci.yml | 18 +++++++++--------- .github/workflows/release.yml | 6 +++--- .github/workflows/update-snapshots.yml | 6 +++--- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 00903891..d85268e0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,8 +10,8 @@ jobs: name: Build & Typecheck runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v5 + - uses: actions/setup-node@v5 with: node-version: 24 cache: npm @@ -29,8 +29,8 @@ jobs: contents: read pull-requests: write # daun/playwright-report-summary PR comment steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v5 + - uses: actions/setup-node@v5 with: node-version: 24 cache: npm @@ -52,14 +52,14 @@ jobs: THEME_TEMPLATE: ${{ github.workspace }}/.deploy/quantecon-theme PORT: "3111" - name: Upload Playwright report - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 if: always() with: name: visual-playwright-report path: playwright-report/ retention-days: 30 - name: Upload test results (actual/diff images) on failure - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 if: steps.visual.outcome == 'failure' with: name: visual-test-diff @@ -83,8 +83,8 @@ jobs: name: FOUC guard (WebKit) runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v5 + - uses: actions/setup-node@v5 with: node-version: 24 cache: npm @@ -102,7 +102,7 @@ jobs: env: THEME_TEMPLATE: ${{ github.workspace }}/.deploy/quantecon-theme PORT: "3111" - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v5 if: failure() with: name: fouc-playwright-report diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 649b6b8f..e6b2592f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -36,8 +36,8 @@ jobs: name: Build & publish release zip runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v5 + - uses: actions/setup-node@v5 with: node-version: 24 cache: npm @@ -89,7 +89,7 @@ jobs: (cd dist && zip -r ../quantecon-theme.zip quantecon-theme) - name: Publish GitHub Release - uses: softprops/action-gh-release@v2 + uses: softprops/action-gh-release@v3 with: body_path: release-notes.md files: quantecon-theme.zip diff --git a/.github/workflows/update-snapshots.yml b/.github/workflows/update-snapshots.yml index be722c63..d2e89142 100644 --- a/.github/workflows/update-snapshots.yml +++ b/.github/workflows/update-snapshots.yml @@ -45,7 +45,7 @@ jobs: - name: Get PR branch id: pr - uses: actions/github-script@v7 + uses: actions/github-script@v8 with: script: | const pr = await github.rest.pulls.get({ @@ -55,10 +55,10 @@ jobs: }); core.setOutput('ref', pr.data.head.ref); - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: ref: ${{ steps.pr.outputs.ref }} - - uses: actions/setup-node@v4 + - uses: actions/setup-node@v5 with: node-version: 24 cache: npm