@@ -5,40 +5,66 @@ on: [push, pull_request, workflow_dispatch]
55jobs :
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
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
0 commit comments