1
- name : ' CI: Build & Test'
1
+ name : " CI: Build & Test"
2
2
on :
3
3
push :
4
4
branches :
16
16
- name : Set up Node
17
17
uses : actions/setup-node@v4
18
18
with :
19
- node-version-file : ' package.json'
19
+ node-version-file : " package.json"
20
20
- name : Install dependencies
21
21
run : yarn install --ignore-engines --ignore-scripts --frozen-lockfile
22
22
- name : Lint
32
32
fail-fast : false
33
33
matrix :
34
34
include :
35
- # x64 glibc
35
+ # x64 glibc
36
36
- os : ubuntu-22.04
37
37
node : 18
38
38
binary : linux-x64-glibc-108
42
42
- os : ubuntu-22.04
43
43
node : 22
44
44
binary : linux-x64-glibc-127
45
+ - os : ubuntu-22.04
46
+ node : 24
47
+ binary : linux-x64-glibc-137
45
48
46
49
# x64 musl
47
50
- os : ubuntu-22.04
56
59
container : node:22-alpine3.18
57
60
node : 22
58
61
binary : linux-x64-musl-127
62
+ - os : ubuntu-22.04
63
+ container : node:24-alpine3.20
64
+ node : 24
65
+ binary : linux-x64-musl-137
59
66
60
67
# arm64 glibc
61
68
- os : ubuntu-22.04
70
77
arch : arm64
71
78
node : 22
72
79
binary : linux-arm64-glibc-127
80
+ - os : ubuntu-22.04
81
+ arch : arm64
82
+ node : 24
83
+ binary : linux-arm64-glibc-137
73
84
74
85
# arm64 musl
75
86
- os : ubuntu-22.04
87
98
container : node:22-alpine3.18
88
99
node : 22
89
100
binary : linux-arm64-musl-127
101
+ - os : ubuntu-22.04
102
+ arch : arm64
103
+ container : node:24-alpine3.20
104
+ node : 24
105
+ binary : linux-arm64-musl-137
90
106
91
107
# macos x64
92
108
- os : macos-13
@@ -101,6 +117,10 @@ jobs:
101
117
node : 22
102
118
arch : x64
103
119
binary : darwin-x64-127
120
+ - os : macos-13
121
+ node : 24
122
+ arch : x64
123
+ binary : darwin-x64-137
104
124
105
125
# macos arm64
106
126
- os : macos-13
@@ -118,6 +138,11 @@ jobs:
118
138
node : 22
119
139
target_platform : darwin
120
140
binary : darwin-arm64-127
141
+ - os : macos-13
142
+ arch : arm64
143
+ node : 24
144
+ target_platform : darwin
145
+ binary : darwin-arm64-137
121
146
122
147
# windows x64
123
148
- os : windows-2022
@@ -132,6 +157,10 @@ jobs:
132
157
node : 22
133
158
arch : x64
134
159
binary : win32-x64-127
160
+ - os : windows-2022
161
+ node : 24
162
+ arch : x64
163
+ binary : win32-x64-137
135
164
136
165
steps :
137
166
- name : Setup (alpine)
@@ -169,7 +198,7 @@ jobs:
169
198
if : ${{ !contains(matrix.container, 'alpine') }}
170
199
id : python-setup
171
200
with :
172
- python-version : ' 3.9.13'
201
+ python-version : " 3.9.13"
173
202
174
203
- name : Setup (arm64| ${{ contains(matrix.container, 'alpine') && 'musl' || 'glibc' }})
175
204
if : matrix.arch == 'arm64' && !contains(matrix.container, 'alpine') && matrix.target_platform != 'darwin'
@@ -241,35 +270,35 @@ jobs:
241
270
needs : [job_compile]
242
271
runs-on : ubuntu-latest
243
272
steps :
244
- - name : Check out current commit
245
- uses : actions/checkout@v4
246
- - name : Set up Node
247
- uses : actions/setup-node@v4
248
- with :
249
- node-version-file : ' package.json'
250
-
251
- - name : Install dependencies
252
- run : yarn install --ignore-engines --ignore-scripts --frozen-lockfile
253
-
254
- - name : Build TypeScript
255
- run : yarn build:lib
256
-
257
- - name : Extract Prebuilt Binaries
258
- uses : actions/download-artifact@v4
259
- with :
260
- pattern : profiling-node-binaries-*
261
- path : ${{ github.workspace }}/lib/
262
- merge-multiple : true
263
-
264
- - name : Pack tarball
265
- run : yarn build:tarball
266
-
267
- - name : Archive artifacts
268
- uses : actions/upload-artifact@v4
269
- with :
270
- name : ${{ github.sha }}
271
- retention-days : 90
272
- path : ${{ github.workspace }}/*.tgz
273
+ - name : Check out current commit
274
+ uses : actions/checkout@v4
275
+ - name : Set up Node
276
+ uses : actions/setup-node@v4
277
+ with :
278
+ node-version-file : " package.json"
279
+
280
+ - name : Install dependencies
281
+ run : yarn install --ignore-engines --ignore-scripts --frozen-lockfile
282
+
283
+ - name : Build TypeScript
284
+ run : yarn build:lib
285
+
286
+ - name : Extract Prebuilt Binaries
287
+ uses : actions/download-artifact@v4
288
+ with :
289
+ pattern : profiling-node-binaries-*
290
+ path : ${{ github.workspace }}/lib/
291
+ merge-multiple : true
292
+
293
+ - name : Pack tarball
294
+ run : yarn build:tarball
295
+
296
+ - name : Archive artifacts
297
+ uses : actions/upload-artifact@v4
298
+ with :
299
+ name : ${{ github.sha }}
300
+ retention-days : 90
301
+ path : ${{ github.workspace }}/*.tgz
273
302
274
303
job_test_bindings :
275
304
name : Test Bindings (v${{ matrix.node }}) ${{ matrix.os }}
@@ -279,14 +308,14 @@ jobs:
279
308
fail-fast : false
280
309
matrix :
281
310
os : [
282
- ubuntu-24.04,
283
- ubuntu-22.04,
284
- ubuntu-22.04-arm,
285
- macos-latest, # macOS arm64
286
- macos-13, # macOS x64
287
- windows-latest
288
- ]
289
- node : [18, 20, 22]
311
+ ubuntu-24.04,
312
+ ubuntu-22.04,
313
+ ubuntu-22.04-arm,
314
+ macos-latest, # macOS arm64
315
+ macos-13, # macOS x64
316
+ windows-latest,
317
+ ]
318
+ node : [18, 20, 22, 24 ]
290
319
steps :
291
320
- name : Check out current commit
292
321
uses : actions/checkout@v4
@@ -317,7 +346,7 @@ jobs:
317
346
- name : Set up Node
318
347
uses : actions/setup-node@v4
319
348
with :
320
- node-version-file : ' package.json'
349
+ node-version-file : " package.json"
321
350
- name : Install dependencies
322
351
run : yarn install --ignore-engines --ignore-scripts --frozen-lockfile
323
352
- name : Download Tarball
@@ -337,7 +366,7 @@ jobs:
337
366
- name : Set up Node
338
367
uses : actions/setup-node@v4
339
368
with :
340
- node-version-file : ' package.json'
369
+ node-version-file : " package.json"
341
370
- name : Install dependencies
342
371
run : yarn install --ignore-engines --ignore-scripts --frozen-lockfile
343
372
- name : Download Tarball
0 commit comments