Skip to content

Commit 78ca29a

Browse files
committed
feat: Support Node 24
1 parent 7ac5dd2 commit 78ca29a

File tree

2 files changed

+75
-45
lines changed

2 files changed

+75
-45
lines changed

.github/workflows/build.yml

Lines changed: 73 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: 'CI: Build & Test'
1+
name: "CI: Build & Test"
22
on:
33
push:
44
branches:
@@ -16,7 +16,7 @@ jobs:
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
@@ -32,7 +32,7 @@ jobs:
3232
fail-fast: false
3333
matrix:
3434
include:
35-
# x64 glibc
35+
# x64 glibc
3636
- os: ubuntu-20.04
3737
node: 18
3838
binary: linux-x64-glibc-108
@@ -42,6 +42,9 @@ jobs:
4242
- os: ubuntu-20.04
4343
node: 22
4444
binary: linux-x64-glibc-127
45+
- os: ubuntu-20.04
46+
node: 24
47+
binary: linux-x64-glibc-137
4548

4649
# x64 musl
4750
- os: ubuntu-20.04
@@ -56,6 +59,10 @@ jobs:
5659
container: node:22-alpine3.18
5760
node: 22
5861
binary: linux-x64-musl-127
62+
- os: ubuntu-20.04
63+
container: node:24-alpine3.20
64+
node: 24
65+
binary: linux-x64-musl-137
5966

6067
# arm64 glibc
6168
- os: ubuntu-20.04
@@ -70,6 +77,10 @@ jobs:
7077
arch: arm64
7178
node: 22
7279
binary: linux-arm64-glibc-127
80+
- os: ubuntu-20.04
81+
arch: arm64
82+
node: 24
83+
binary: linux-arm64-glibc-137
7384

7485
# arm64 musl
7586
- os: ubuntu-20.04
@@ -87,6 +98,11 @@ jobs:
8798
container: node:22-alpine3.18
8899
node: 22
89100
binary: linux-arm64-musl-127
101+
- os: ubuntu-20.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.8.10'
201+
python-version: "3.8.10"
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,15 +308,15 @@ jobs:
279308
fail-fast: false
280309
matrix:
281310
os: [
282-
ubuntu-24.04,
283-
ubuntu-22.04,
284-
ubuntu-20.04,
285-
ubuntu-22.04-arm,
286-
macos-latest, # macOS arm64
287-
macos-13, # macOS x64
288-
windows-latest
289-
]
290-
node: [18, 20, 22]
311+
ubuntu-24.04,
312+
ubuntu-22.04,
313+
ubuntu-20.04,
314+
ubuntu-22.04-arm,
315+
macos-latest, # macOS arm64
316+
macos-13, # macOS x64
317+
windows-latest,
318+
]
319+
node: [18, 20, 22, 24]
291320
steps:
292321
- name: Check out current commit
293322
uses: actions/checkout@v4
@@ -318,7 +347,7 @@ jobs:
318347
- name: Set up Node
319348
uses: actions/setup-node@v4
320349
with:
321-
node-version-file: 'package.json'
350+
node-version-file: "package.json"
322351
- name: Install dependencies
323352
run: yarn install --ignore-engines --ignore-scripts --frozen-lockfile
324353
- name: Download Tarball
@@ -338,7 +367,7 @@ jobs:
338367
- name: Set up Node
339368
uses: actions/setup-node@v4
340369
with:
341-
node-version-file: 'package.json'
370+
node-version-file: "package.json"
342371
- name: Install dependencies
343372
run: yarn install --ignore-engines --ignore-scripts --frozen-lockfile
344373
- name: Download Tarball

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262
},
6363
"sideEffects": false,
6464
"volta": {
65-
"node": "22.13.1"
65+
"node": "24.0.0",
66+
"yarn": "1.22.22"
6667
}
6768
}

0 commit comments

Comments
 (0)