Skip to content

Commit c502d6b

Browse files
committed
ci: add node 24 RC to test matrices
It's going stable on April 30 2025.
1 parent 8fd3976 commit c502d6b

File tree

3 files changed

+8
-91
lines changed

3 files changed

+8
-91
lines changed

.github/workflows/e2e-tests.yml

+2-3
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,7 @@ jobs:
2020
strategy:
2121
matrix:
2222
os: [windows-latest]
23-
# Pinning 20.x version as a temporary workaround due to this https://github.com/nodejs/node/issues/52884
24-
node-version: ['18.14.0', '20.12.2', '22']
23+
node-version: ['18.14.0', '20', '22', '24-rc.2']
2524
fail-fast: false
2625
steps:
2726
# This improves Windows network performance. We need this since we open many ports in our tests.
@@ -79,7 +78,7 @@ jobs:
7978
strategy:
8079
matrix:
8180
os: [ubuntu-latest, macOS-latest]
82-
node-version: ['18.14.0', '*']
81+
node-version: ['18.14.0', '22', '24-rc.2']
8382
fail-fast: false
8483
steps:
8584
- name: Git checkout

.github/workflows/integration-tests.yml

+3-86
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,11 @@ jobs:
1818
strategy:
1919
matrix:
2020
os: [ubuntu-latest, macOS-latest, windows-latest]
21-
# Pinning 20.x version as a temporary workaround due to this https://github.com/nodejs/node/issues/52884
22-
node-version: ['18.17.0', '20.12.2', '22']
21+
# TODO(serhalp): Document why we test against 18.17.0 here (18.14.0 is our minimum supported version)
22+
node-version: ['18.17.0', '20', '22', '24-rc.2']
2323
shard: ['1/4', '2/4', '3/4', '4/4']
2424

25+
# TODO(serhalp): Why are these excluded? Document, fix, or remove.
2526
exclude:
2627
- os: macOS-latest
2728
node-version: '18.17.0'
@@ -113,87 +114,3 @@ jobs:
113114
with:
114115
flags: ${{ steps.test-coverage-flags.outputs.os }},${{ steps.test-coverage-flags.outputs.node }}
115116
token: ${{ secrets.CODECOV_TOKEN }}
116-
# Specific tests for known test that failed on windows using node 23.
117-
# Can be replaced with larger node 23 tests in the future.
118-
integration-win-node-23:
119-
name: Integration test windows latest node23 specific
120-
runs-on: windows-latest
121-
timeout-minutes: 40
122-
steps:
123-
# This improves Windows network performance, we need this since we open many ports in our tests
124-
- name: Increase Windows port limit and reduce time wait delay
125-
run: |
126-
netsh int ipv4 set dynamicport tcp start=1025 num=64511
127-
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters /v TcpTimedWaitDelay /t REG_DWORD /d 30 /f
128-
129-
- name: Git checkout
130-
uses: actions/checkout@v4
131-
with:
132-
fetch-depth: 0
133-
134-
- name: Use Node.js
135-
uses: actions/setup-node@v4
136-
with:
137-
node-version: '23.x'
138-
cache: npm
139-
check-latest: true
140-
141-
- name: Install PNPM
142-
run: |
143-
corepack enable
144-
corepack prepare [email protected] --activate
145-
146-
- name: Setup Deno
147-
uses: denoland/setup-deno@v1
148-
with:
149-
deno-version: v1.44.4
150-
151-
- name: Install core dependencies
152-
run: npm ci --no-audit
153-
154-
- name: Build project
155-
run: npm run build
156-
if: '${{!steps.release-check.outputs.IS_RELEASE}}'
157-
158-
- name: Prepare tests
159-
run: npm run test:init
160-
161-
- name: Tests
162-
run: npm exec vitest -- run tests/integration/commands/dev/dev.test.ts --coverage
163-
env:
164-
# GitHub secrets are not available when running on PR from forks
165-
# We set a flag so we can skip tests that access Netlify API
166-
NETLIFY_TEST_DISABLE_LIVE:
167-
${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork == true }}
168-
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
169-
# NETLIFY_TEST_GITHUB_TOKEN is used to avoid reaching GitHub API limits in exec-fetcher.js
170-
NETLIFY_TEST_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
171-
# Changes the polling interval used by the file watcher
172-
CHOKIDAR_INTERVAL: 20
173-
CHOKIDAR_USEPOLLING: 1
174-
175-
- name: Get test coverage flags
176-
id: test-coverage-flags
177-
# For windows we have to use $env:
178-
run: |-
179-
os=windows-latest
180-
node=$(node --version)
181-
echo "os=${os/-latest/}" >> $GITHUB_OUTPUT
182-
echo "os=${os/-latest/}" >> $env:GITHUB_OUTPUT
183-
echo "node=node_${node/.*.*/}" >> $GITHUB_OUTPUT
184-
echo "node=node_${node/.*.*/}" >> $env:GITHUB_OUTPUT
185-
shell: bash
186-
187-
- name: Store npm error artefacts
188-
uses: actions/upload-artifact@v4
189-
if: always()
190-
with:
191-
name: npm-logs--windows-latest--23x
192-
path: |
193-
~/.npm/_logs/**/*
194-
195-
- uses: codecov/codecov-action@v5
196-
continue-on-error: true
197-
with:
198-
flags: ${{ steps.test-coverage-flags.outputs.os }},${{ steps.test-coverage-flags.outputs.node }}
199-
token: ${{ secrets.CODECOV_TOKEN }}

.github/workflows/unit-tests.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,11 @@ jobs:
1717
strategy:
1818
matrix:
1919
os: [ubuntu-latest, macOS-latest, windows-latest]
20-
node-version: ['18.14.0', '22.x']
20+
node-version: ['18.14.0', '22', '24-rc.2']
21+
# TODO(serhalp): Why is this excluded? Document, fix, or remove.
2122
exclude:
2223
- os: windows-latest
23-
node-version: '22.x'
24+
node-version: '22'
2425
fail-fast: false
2526
steps:
2627
- name: Git checkout

0 commit comments

Comments
 (0)