@@ -18,10 +18,11 @@ jobs:
18
18
strategy :
19
19
matrix :
20
20
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 ']
23
23
shard : ['1/4', '2/4', '3/4', '4/4']
24
24
25
+ # TODO(serhalp): Why are these excluded? Document, fix, or remove.
25
26
exclude :
26
27
- os : macOS-latest
27
28
node-version : ' 18.17.0'
@@ -113,87 +114,3 @@ jobs:
113
114
with :
114
115
flags : ${{ steps.test-coverage-flags.outputs.os }},${{ steps.test-coverage-flags.outputs.node }}
115
116
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 }}
0 commit comments