Skip to content

Commit a5f98d8

Browse files
authored
Add node 25, bump OS runner images, and clarify policy (#1361)
1 parent 7205513 commit a5f98d8

File tree

3 files changed

+65
-36
lines changed

3 files changed

+65
-36
lines changed

.github/workflows/lint.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Lint
2+
3+
on: [push, pull_request, workflow_dispatch]
4+
5+
jobs:
6+
lint-and-format:
7+
name: Lint and Format
8+
timeout-minutes: 5
9+
runs-on: ubuntu-24.04
10+
steps:
11+
- uses: actions/checkout@v6
12+
- uses: actions/setup-node@v6
13+
with:
14+
node-version: 20
15+
cache: npm
16+
17+
- run: npm ci
18+
- run: npm run lint
19+
- run: npm run format:check

.github/workflows/tests.yml

Lines changed: 41 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -5,40 +5,66 @@ on: [push, pull_request, workflow_dispatch]
55
jobs:
66
tests:
77
strategy:
8-
# We support Node Current, LTS, and Maintenance. See
9-
# https://github.com/nodejs/release#release-schedule for release schedule
8+
# NODE POLICY
109
#
11-
# We test all supported Node versions on Linux, and the oldest and newest
12-
# on macOS/Windows. See
10+
# We always support Node Current, LTS, and Maintenance releases. See
11+
# https://github.com/nodejs/release#release-schedule for the release
12+
# schedule.
13+
#
14+
# We additionally support Node End-of-Life releases as is practical and
15+
# reasonable on a case-by-case basis. If we decide it is worth dropping
16+
# support for some Node version, it will be accompanied by a wireit
17+
# semver major release.
18+
#
19+
# OS POLICY
20+
#
21+
# The oldest Node is tested with the oldest OS runner images, while
22+
# everything else is tested with the latest. See:
1323
# https://github.com/actions/runner-images?tab=readme-ov-file#available-images
14-
# for the latest available images.
1524
matrix:
1625
include:
17-
# Maintenance
26+
# Node EOL (Oldest)
27+
# on Linux/Mac/Windows (Oldest)
1828
- node: 18
1929
os: ubuntu-22.04
30+
os-name: Linux
2031
- node: 18
2132
os: macos-14
33+
os-name: Mac
2234
- node: 18
2335
os: windows-2022
36+
os-name: Windows
2437

25-
# LTS
38+
# Node LTS (All Active & Maintenance)
39+
# on Linux (Latest)
2640
- node: 20
27-
os: ubuntu-22.04
28-
29-
# Current
41+
os: ubuntu-24.04
42+
os-name: Linux
3043
- node: 22
31-
os: ubuntu-22.04
32-
- node: 22
33-
os: macos-14
34-
- node: 22
35-
os: windows-2022
44+
os: ubuntu-24.04
45+
os-name: Linux
46+
- node: 24
47+
os: ubuntu-24.04
48+
os-name: Linux
49+
50+
# Node Current
51+
# on Linux/Mac/Windows (Latest)
52+
- node: 25
53+
os: ubuntu-24.04
54+
os-name: Linux
55+
- node: 25
56+
os: macos-26
57+
os-name: Mac
58+
- node: 25
59+
os: windows-2025
60+
os-name: Windows
3661

3762
# Allow all matrix configurations to complete, instead of cancelling as
3863
# soon as one fails. Useful because we often have different kinds of
3964
# failures depending on the OS.
4065
fail-fast: false
4166

67+
name: 'Node ${{ matrix.node}} / ${{ matrix.os-name }}'
4268
# Sometimes windows is far slower than the other OSs. Give it enough
4369
# time to complete if it's going to.
4470
timeout-minutes: 40
@@ -69,17 +95,3 @@ jobs:
6995
- run: xvfb-run -a npm test
7096
if: runner.os == 'Linux'
7197
- run: npm run test:cache-github-real
72-
73-
lint-and-format:
74-
timeout-minutes: 5
75-
runs-on: ubuntu-22.04
76-
steps:
77-
- uses: actions/checkout@v6
78-
- uses: actions/setup-node@v6
79-
with:
80-
node-version: 20
81-
cache: npm
82-
83-
- run: npm ci
84-
- run: npm run lint
85-
- run: npm run format:check

README.md

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -385,10 +385,10 @@ jobs:
385385
tests:
386386
runs-on: ubuntu-latest
387387
steps:
388-
- uses: actions/checkout@v3
389-
- uses: actions/setup-node@v3
388+
- uses: actions/checkout@v6
389+
- uses: actions/setup-node@v6
390390
with:
391-
node-version: 18
391+
node-version: 24
392392
cache: npm
393393

394394
# Set up GitHub Actions caching for Wireit.
@@ -935,7 +935,7 @@ cache](#caching).
935935
- The environment variable values configured in `env`.
936936
- The system platform (e.g. `linux`, `win32`).
937937
- The system CPU architecture (e.g. `x64`).
938-
- The system Node version (e.g. `20.11.1`).
938+
- The system Node version (e.g. `24.11.1`).
939939
- The fingerprint of all transitive dependencies, unless `cascade` is set to
940940
`false`.
941941

@@ -948,9 +948,7 @@ input also affects the fingerprint:
948948

949949
Wireit is supported on Linux, macOS, and Windows.
950950

951-
Wireit is supported on Node Current (22), Active LTS (20), and Maintenance LTS
952-
(18). See [Node releases](https://nodejs.org/en/about/releases/) for the
953-
schedule.
951+
Wireit is supported on Node 18+.
954952

955953
Wireit scripts can be launched via `npm`, `node --run`, `pnpm`, and `yarn`.
956954

0 commit comments

Comments
 (0)