9
9
jobs :
10
10
build_extensions :
11
11
runs-on : ${{ matrix.os }}
12
+ timeout-minutes : 15
12
13
13
14
strategy :
14
15
fail-fast : false
@@ -49,17 +50,17 @@ jobs:
49
50
50
51
steps :
51
52
- name : Checkout
52
- uses : actions/checkout@v3
53
+ uses : actions/checkout@v4
53
54
- name : Path filter
54
55
id : filter
55
- uses : dorny/paths-filter@v2
56
+ uses : dorny/paths-filter@v3
56
57
with :
57
58
filters : |
58
59
extension:
59
60
- '${{ matrix.example }}/**'
60
61
- name : Cache lerna
61
62
if : steps.filter.outputs.extension == 'true'
62
- uses : actions/cache@v3
63
+ uses : actions/cache@v4
63
64
with :
64
65
path : ' **/node_modules'
65
66
key : ${{ runner.os }}-lerna-${{ hashFiles('**/package.json') }}
@@ -75,14 +76,14 @@ jobs:
75
76
shell : bash
76
77
- name : Install node
77
78
if : steps.filter.outputs.extension == 'true'
78
- uses : actions/setup-node@v3
79
+ uses : actions/setup-node@v4
79
80
with :
80
- node-version : ' 18 .x'
81
+ node-version : ' 22 .x'
81
82
- name : Install Python
82
83
if : steps.filter.outputs.extension == 'true'
83
- uses : actions/setup-python@v4
84
+ uses : actions/setup-python@v5
84
85
with :
85
- python-version : ' 3.11 '
86
+ python-version : ' 3.12 '
86
87
architecture : ' x64'
87
88
- name : Get pip cache dir
88
89
if : steps.filter.outputs.extension == 'true'
92
93
shell : bash
93
94
- name : Cache pip
94
95
if : steps.filter.outputs.extension == 'true'
95
- uses : actions/cache@v3
96
+ uses : actions/cache@v4
96
97
with :
97
98
path : ${{ steps.pip-cache.outputs.dir }}
98
99
key : ${{ runner.os }}-pip-${{ hashFiles('environment.yml') }}
@@ -138,7 +139,7 @@ jobs:
138
139
run : jlpm install
139
140
- name : Set up browser cache
140
141
if : steps.filter.outputs.extension == 'true' && startsWith(runner.os, 'Linux')
141
- uses : actions/cache@v3
142
+ uses : actions/cache@v4
142
143
with :
143
144
path : |
144
145
${{ github.workspace }}/pw-browsers
@@ -156,9 +157,9 @@ jobs:
156
157
run : jlpm playwright test
157
158
- name : Upload UI Test artifacts
158
159
if : steps.filter.outputs.extension == 'true' && startsWith(runner.os, 'Linux') && always()
159
- uses : actions/upload-artifact@v3
160
+ uses : actions/upload-artifact@v4
160
161
with :
161
- name : ui-test-output
162
+ name : ui-test-output-${{ matrix.example }}
162
163
path : |
163
164
${{ matrix.example }}/ui-tests/test-results
164
165
- name : Uninstall extension
@@ -175,26 +176,26 @@ jobs:
175
176
os : [ubuntu-latest, macos-latest, windows-latest]
176
177
steps :
177
178
- name : Checkout
178
- uses : actions/checkout@v3
179
+ uses : actions/checkout@v4
179
180
- name : Path filter
180
181
id : filter
181
- uses : dorny/paths-filter@v2
182
+ uses : dorny/paths-filter@v3
182
183
with :
183
184
filters : |
184
185
extension:
185
186
- 'server-extension/**'
186
187
- name : Cache lerna
187
188
if : steps.filter.outputs.extension == 'true'
188
- uses : actions/cache@v3
189
+ uses : actions/cache@v4
189
190
with :
190
191
path : ' **/node_modules'
191
192
key : ${{ runner.os }}-lerna-${{ hashFiles('server-extension/package.json') }}
192
193
restore-keys : ${{ runner.os }}-lerna-
193
194
- name : Install node
194
195
if : steps.filter.outputs.extension == 'true'
195
- uses : actions/setup-node@v3
196
+ uses : actions/setup-node@v4
196
197
with :
197
- node-version : ' 18 .x'
198
+ node-version : ' 22 .x'
198
199
- name : Check config files
199
200
if : steps.filter.outputs.extension == 'true'
200
201
run : |
@@ -206,9 +207,9 @@ jobs:
206
207
shell : bash
207
208
- name : Install Python
208
209
if : steps.filter.outputs.extension == 'true'
209
- uses : actions/setup-python@v4
210
+ uses : actions/setup-python@v5
210
211
with :
211
- python-version : ' 3.11 '
212
+ python-version : ' 3.12 '
212
213
architecture : ' x64'
213
214
- name : Get pip cache dir
214
215
if : steps.filter.outputs.extension == 'true'
@@ -218,7 +219,7 @@ jobs:
218
219
shell : bash
219
220
- name : Cache pip
220
221
if : steps.filter.outputs.extension == 'true'
221
- uses : actions/cache@v3
222
+ uses : actions/cache@v4
222
223
with :
223
224
path : ${{ steps.pip-cache.outputs.dir }}
224
225
key : ${{ runner.os }}-pip-${{ hashFiles('environment.yml') }}
@@ -227,7 +228,7 @@ jobs:
227
228
- name : Install the Python dependencies
228
229
if : steps.filter.outputs.extension == 'true'
229
230
run : |
230
- python -m pip install --upgrade pip jupyterlab~=4.0.0 build
231
+ python -m pip install --upgrade pip jupyterlab~=4.0 build
231
232
- name : Install the NPM dependencies
232
233
if : steps.filter.outputs.extension == 'true'
233
234
run : |
@@ -282,7 +283,7 @@ jobs:
282
283
run : jlpm install
283
284
- name : Set up browser cache
284
285
if : steps.filter.outputs.extension == 'true' && startsWith(runner.os, 'Linux')
285
- uses : actions/cache@v3
286
+ uses : actions/cache@v4
286
287
with :
287
288
path : |
288
289
${{ github.workspace }}/pw-browsers
@@ -297,9 +298,9 @@ jobs:
297
298
run : jlpm playwright test
298
299
- name : Upload UI Test artifacts
299
300
if : steps.filter.outputs.extension == 'true' && startsWith(runner.os, 'Linux') && always()
300
- uses : actions/upload-artifact@v3
301
+ uses : actions/upload-artifact@v4
301
302
with :
302
- name : ui-test-output
303
+ name : ui-test-output-${{ matrix.example }}
303
304
path : |
304
305
server-extension/ui-tests/test-results
305
306
- name : Uninstall extension
@@ -316,36 +317,36 @@ jobs:
316
317
os : [ubuntu-latest, macos-latest, windows-latest]
317
318
steps :
318
319
- name : Checkout
319
- uses : actions/checkout@v3
320
+ uses : actions/checkout@v4
320
321
- name : Cache lerna
321
- uses : actions/cache@v3
322
+ uses : actions/cache@v4
322
323
with :
323
324
path : ' **/node_modules'
324
325
key : ${{ runner.os }}-lerna-${{ hashFiles('**/package.json') }}
325
326
restore-keys : ${{ runner.os }}-lerna-
326
327
- name : Install node
327
- uses : actions/setup-node@v3
328
+ uses : actions/setup-node@v4
328
329
with :
329
- node-version : ' 18 .x'
330
+ node-version : ' 22 .x'
330
331
- name : Install Python
331
- uses : actions/setup-python@v4
332
+ uses : actions/setup-python@v5
332
333
with :
333
- python-version : ' 3.11 '
334
+ python-version : ' 3.12 '
334
335
architecture : ' x64'
335
336
- name : Get pip cache dir
336
337
id : pip-cache
337
338
run : |
338
339
echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT
339
340
shell : bash
340
341
- name : Cache pip
341
- uses : actions/cache@v3
342
+ uses : actions/cache@v4
342
343
with :
343
344
path : ${{ steps.pip-cache.outputs.dir }}
344
345
key : ${{ runner.os }}-pip-${{ hashFiles('environment.yml') }}
345
346
restore-keys : |
346
347
${{ runner.os }}-pip-
347
348
- name : Install the Python dependencies
348
- run : python -m pip install jupyterlab~=4.0.0 pytest pytest-check-links "pytest-jupyter[server]>=0.6.0"
349
+ run : python -m pip install jupyterlab~=4.0 pytest pytest-check-links "pytest-jupyter[server]>=0.6.0"
349
350
- name : Bootstrap the jlpm deps
350
351
run : jlpm
351
352
- name : Build all the extensions
0 commit comments