1- name : ' CI: Build & Test'
1+ name : " CI: Build & Test"
22on :
33 push :
44 branches :
1616 - name : Set up Node
1717 uses : actions/setup-node@v4
1818 with :
19- node-version-file : ' package.json'
19+ node-version-file : " package.json"
2020 - name : Install dependencies
2121 run : yarn install --ignore-engines --ignore-scripts --frozen-lockfile
2222 - name : Lint
3232 fail-fast : false
3333 matrix :
3434 include :
35- # x64 glibc
35+ # x64 glibc
3636 - os : ubuntu-22.04
3737 node : 18
3838 binary : linux-x64-glibc-108
4242 - os : ubuntu-22.04
4343 node : 22
4444 binary : linux-x64-glibc-127
45+ - os : ubuntu-22.04
46+ node : 24
47+ binary : linux-x64-glibc-137
4548
4649 # x64 musl
4750 - os : ubuntu-22.04
5659 container : node:22-alpine3.18
5760 node : 22
5861 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
5966
6067 # arm64 glibc
6168 - os : ubuntu-22.04
7077 arch : arm64
7178 node : 22
7279 binary : linux-arm64-glibc-127
80+ - os : ubuntu-22.04
81+ arch : arm64
82+ node : 24
83+ binary : linux-arm64-glibc-137
7384
7485 # arm64 musl
7586 - os : ubuntu-22.04
8798 container : node:22-alpine3.18
8899 node : 22
89100 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
90106
91107 # macos x64
92108 - os : macos-13
@@ -101,6 +117,10 @@ jobs:
101117 node : 22
102118 arch : x64
103119 binary : darwin-x64-127
120+ - os : macos-13
121+ node : 24
122+ arch : x64
123+ binary : darwin-x64-137
104124
105125 # macos arm64
106126 - os : macos-13
@@ -118,6 +138,11 @@ jobs:
118138 node : 22
119139 target_platform : darwin
120140 binary : darwin-arm64-127
141+ - os : macos-13
142+ arch : arm64
143+ node : 24
144+ target_platform : darwin
145+ binary : darwin-arm64-137
121146
122147 # windows x64
123148 - os : windows-2022
@@ -132,6 +157,10 @@ jobs:
132157 node : 22
133158 arch : x64
134159 binary : win32-x64-127
160+ - os : windows-2022
161+ node : 24
162+ arch : x64
163+ binary : win32-x64-137
135164
136165 steps :
137166 - name : Setup (alpine)
@@ -169,7 +198,7 @@ jobs:
169198 if : ${{ !contains(matrix.container, 'alpine') }}
170199 id : python-setup
171200 with :
172- python-version : ' 3.9.13'
201+ python-version : " 3.9.13"
173202
174203 - name : Setup (arm64| ${{ contains(matrix.container, 'alpine') && 'musl' || 'glibc' }})
175204 if : matrix.arch == 'arm64' && !contains(matrix.container, 'alpine') && matrix.target_platform != 'darwin'
@@ -241,35 +270,35 @@ jobs:
241270 needs : [job_compile]
242271 runs-on : ubuntu-latest
243272 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
273302
274303 job_test_bindings :
275304 name : Test Bindings (v${{ matrix.node }}) ${{ matrix.os }}
@@ -279,14 +308,14 @@ jobs:
279308 fail-fast : false
280309 matrix :
281310 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 ]
290319 steps :
291320 - name : Check out current commit
292321 uses : actions/checkout@v4
@@ -317,7 +346,7 @@ jobs:
317346 - name : Set up Node
318347 uses : actions/setup-node@v4
319348 with :
320- node-version-file : ' package.json'
349+ node-version-file : " package.json"
321350 - name : Install dependencies
322351 run : yarn install --ignore-engines --ignore-scripts --frozen-lockfile
323352 - name : Download Tarball
@@ -337,7 +366,7 @@ jobs:
337366 - name : Set up Node
338367 uses : actions/setup-node@v4
339368 with :
340- node-version-file : ' package.json'
369+ node-version-file : " package.json"
341370 - name : Install dependencies
342371 run : yarn install --ignore-engines --ignore-scripts --frozen-lockfile
343372 - name : Download Tarball
0 commit comments