Skip to content

Commit 047af4d

Browse files
Dewain27Copilot
andauthored
fix(ci): bump GitHub Actions off deprecated Node 20 runtime (#396)
* fix(ci): bump GitHub Actions off deprecated Node 20 runtime GitHub is forcing Node 24 on 2026-06-16 and removing Node 20 from runners on 2026-09-16. Bump all first-party actions to their current Node 24 majors so the deprecation annotation clears and the workflows keep running. - build-and-deploy.yml: checkout@v4→v5, configure-pages@v4→v5, upload-pages-artifact@v3→v5, deploy-pages@v4→v5 - a11y.yml / lighthouse.yml: checkout@v4→v5, setup-node@v4→v5, node-version 20→24 (for pa11y-ci / Lighthouse) Standard usage only — no action inputs changed. setup-node's v5 auto-cache does not trigger (no packageManager field in package.json). Closes #395 * fix(a11y): upgrade pa11y-ci to restore browser download * fix(a11y): install Chrome for pa11y-ci in workflow * fix(ci): run pa11y/Lighthouse tools on Node 20, keep actions on Node 24 The pa11y-ci job failed after the Node 24 bump: pa11y-ci's bundled Puppeteer 9 cannot launch its Chromium on Node 24 (ENOENT on the bundled browser). The GitHub Actions deprecation is about the *action* runtimes, not the Node version the test tools run on — those are independent. So keep the action bumps (checkout/setup-node/configure-pages/ upload-pages-artifact/deploy-pages @v5, all Node 24 runtimes, which clears the deprecation) but run the pa11y/Lighthouse tools back on Node 20, their validated runtime. This restores the exact known-good config that passed on #394. Reverts the earlier modernization attempt (pa11y-ci ^4 + an `npx puppeteer browsers install chrome` step that was itself failing on a flaky Chrome download) back to pa11y-ci ^3; restores the accurate Puppeteer-9 comments in lab.html. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
1 parent ed656f3 commit 047af4d

4 files changed

Lines changed: 16 additions & 8 deletions

File tree

.github/workflows/a11y.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333

3434
steps:
3535
- name: Checkout
36-
uses: actions/checkout@v4
36+
uses: actions/checkout@v5
3737

3838
- name: Setup Ruby
3939
uses: ruby/setup-ruby@v1
@@ -47,7 +47,11 @@ jobs:
4747
JEKYLL_ENV: production
4848

4949
- name: Setup Node
50-
uses: actions/setup-node@v4
50+
uses: actions/setup-node@v5
51+
# The action runtime is Node 24 (clears the deprecation), but the
52+
# browser test tool runs on Node 20: pa11y-ci's bundled Puppeteer 9
53+
# cannot launch its Chromium on Node 24. The Node the tool runs on is
54+
# independent of the action's own runtime.
5155
with:
5256
node-version: "20"
5357

.github/workflows/build-and-deploy.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343

4444
steps:
4545
- name: Checkout
46-
uses: actions/checkout@v4
46+
uses: actions/checkout@v5
4747

4848
- name: Setup Ruby
4949
uses: ruby/setup-ruby@v1
@@ -57,12 +57,12 @@ jobs:
5757
JEKYLL_ENV: production
5858

5959
- name: Setup Pages
60-
uses: actions/configure-pages@v4
60+
uses: actions/configure-pages@v5
6161

6262
- name: Upload artifact
63-
uses: actions/upload-pages-artifact@v3
63+
uses: actions/upload-pages-artifact@v5
6464
with:
6565
path: ./_site
6666

6767
- name: Deploy to GitHub Pages
68-
uses: actions/deploy-pages@v4
68+
uses: actions/deploy-pages@v5

.github/workflows/lighthouse.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333

3434
steps:
3535
- name: Checkout
36-
uses: actions/checkout@v4
36+
uses: actions/checkout@v5
3737

3838
- name: Setup Ruby
3939
uses: ruby/setup-ruby@v1
@@ -47,7 +47,10 @@ jobs:
4747
JEKYLL_ENV: production
4848

4949
- name: Setup Node
50-
uses: actions/setup-node@v4
50+
uses: actions/setup-node@v5
51+
# Action runtime is Node 24 (clears the deprecation); the Lighthouse
52+
# tool itself runs on Node 20 to match the pa11y job and stay on the
53+
# browser tooling's validated runtime.
5154
with:
5255
node-version: "20"
5356

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1515
- **Labels: `type: bootcamp-feature`, `status: triage`, `status: backlog`, `status: in-progress`.** Support the Backlog Tracker's Triage → Backlog → In Progress → Done lifecycle.
1616

1717
### Changed
18+
- **CI: GitHub Actions bumped off the deprecated Node 20 runtime (#395).** All first-party actions across `build-and-deploy.yml`, `a11y.yml`, and `lighthouse.yml` now run on Node 24: `actions/checkout@v5`, `actions/setup-node@v5`, `actions/configure-pages@v5`, `actions/upload-pages-artifact@v5`, and `actions/deploy-pages@v5`. Clears the "Node.js 20 actions are deprecated" annotation ahead of GitHub forcing Node 24 on 2026-06-16 and removing Node 20 from runners on 2026-09-16. The deprecation concerns the **action** runtimes only; the pa11y-ci / Lighthouse browser test tools deliberately keep running on Node `20` (`setup-node`'s `node-version`), because pa11y-ci's bundled Puppeteer 9 cannot launch Chromium on Node 24 — the tool's Node is independent of the action's own runtime. Standard usage only — no action inputs changed.
1819
- **Agenda module rows now render as accented cards.** On every event/workshop agenda, `type: module` rows are styled like lab rows (boxed card, prominent title, hover) but with a distinct **purple** left accent rail (`--color-journey-purple`) versus the lab rows' blue rail — surfacing that modules are clickable links to their module page and visually separating modules from labs in the timeline. Previously module rows reused the plain, unboxed `--session` styling. New `.ws-agenda-row--module` rules in `_layouts/event.html`; the module `<li>` now carries `ws-agenda-row--module`.
1920
- **Issue template rename: "Redesign feedback" → "Portal Enhancements".** The air-theme redesign is now just "the site," so the template covering site-wide bugs/suggestions has been renamed and broadened. File renamed `.github/ISSUE_TEMPLATE/redesign-feedback.yml``portal_enhancement.yml`; label `redesign``portal-enhancement`. The "Which page?" dropdown now includes `Backlog tracker (/tracker/)`.
2021
- **Label rename: `feedback``discussion`.** Distinguishes open-ended threads from the existing `question` label (which implies a specific answer is wanted).

0 commit comments

Comments
 (0)