14
14
15
15
env :
16
16
# See https://github.com/nodejs/release#release-schedule
17
- # Node.js v16 EOL = 2023-09-11. v21 EOL = 2024-06-01.
18
- NODE_BUILD_CMD : npx --no-install prebuild -r node -t 18.0.0 -t 20.0.0 -t 22.0.0 -t 23.0.0 --include-regex 'better_sqlite3.node$'
19
- # Merge with NODE_BUILD_CMD when Node.js v18 is EOL
20
- NO_V18_NODE_BUILD_CMD : npx --no-install prebuild -r node -t 20.0.0 -t 22.0.0 -t 23.0.0 --include-regex 'better_sqlite3.node$'
17
+ # Node.js v20 EOL = 2026-04-30. v22 EOL = 2027-04-30. v23 EOL = 2025-06-01. v24 EOL = 2028-04-30.
18
+ NODE_BUILD_CMD : npx --no-install prebuild -r node -t 20.0.0 -t 22.0.0 -t 23.0.0 -t 24.0.0 --include-regex 'better_sqlite3.node$'
19
+
21
20
# See https://www.electronjs.org/docs/latest/tutorial/electron-timelines#version-support-policy
22
- # Electron v25 EOL = 2023-12-05. v26 EOL = 2024-02-20. v27 EOL = 2024-04-16. v28 EOL = 2024-06 -11. v29 EOL = 2024-08-20 .
23
- ELECTRON_BUILD_CMD : npx --no-install prebuild -r electron -t 26.0.0 -t 27.0.0 -t 28.0.0 -t 29.0.0 -t 30.0.0 -t 31.0.0 -t 32.0.0 -t 33.0.0 -t 34.0.0 -t 35.0.0 -t 36.0.0 --include-regex 'better_sqlite3.node$'
21
+ # Electron v29 EOL = 2024-08-20. v30 EOL = 2024-10-15. v31 EOL = 2025-01-14. v32 EOL = 2025-03 -11. v33 EOL = 2025-05-13. v34 EOL = 2025-06-24. v35 EOL = 2025-09-02. v36 EOL = 2025-10-28 .
22
+ ELECTRON_BUILD_CMD : npx --no-install prebuild -r electron -t 29.0.0 -t 30.0.0 -t 31.0.0 -t 32.0.0 -t 33.0.0 -t 34.0.0 -t 35.0.0 -t 36.0.0 --include-regex 'better_sqlite3.node$'
24
23
25
24
jobs :
26
25
test :
@@ -32,10 +31,10 @@ jobs:
32
31
- macos-14
33
32
- windows-2019
34
33
node :
35
- - 18
36
34
- 20
37
35
- 22
38
36
- 23
37
+ - 24
39
38
name : Testing Node ${{ matrix.node }} on ${{ matrix.os }}
40
39
runs-on : ${{ matrix.os }}
41
40
steps :
78
77
- uses : actions/checkout@v4
79
78
- uses : actions/setup-node@v4
80
79
with :
81
- node-version : 18
80
+ node-version : 20
82
81
registry-url : https://registry.npmjs.org
83
82
- run : npm publish
84
83
env :
100
99
- uses : actions/checkout@v4
101
100
- uses : actions/setup-node@v4
102
101
with :
103
- node-version : 18
102
+ node-version : 20
104
103
- if : ${{ startsWith(matrix.os, 'windows') }}
105
104
run : pip.exe install setuptools
106
105
- if : ${{ startsWith(matrix.os, 'macos') }}
@@ -111,15 +110,15 @@ jobs:
111
110
- if : matrix.os == 'windows-2019'
112
111
run : |
113
112
${{ env.NODE_BUILD_CMD }} --arch ia32 -u ${{ secrets.GITHUB_TOKEN }}
114
- ${{ env.NO_V18_NODE_BUILD_CMD }} --arch arm64 -u ${{ secrets.GITHUB_TOKEN }}
113
+ ${{ env.NODE_BUILD_CMD }} --arch arm64 -u ${{ secrets.GITHUB_TOKEN }}
115
114
${{ env.ELECTRON_BUILD_CMD }} --arch ia32 -u ${{ secrets.GITHUB_TOKEN }}
116
115
${{ env.ELECTRON_BUILD_CMD }} --arch arm64 -u ${{ secrets.GITHUB_TOKEN }}
117
116
118
117
prebuild-linux-x64 :
119
118
if : ${{ github.event_name == 'release' }}
120
119
name : Prebuild on Linux x64
121
120
runs-on : ubuntu-latest
122
- container : node:18 -bullseye
121
+ container : node:20 -bullseye
123
122
needs : test
124
123
steps :
125
124
- uses : actions/checkout@v4
@@ -131,7 +130,7 @@ jobs:
131
130
if : ${{ github.event_name == 'release' }}
132
131
name : Prebuild on alpine
133
132
runs-on : ubuntu-latest
134
- container : node:18 -alpine
133
+ container : node:20 -alpine
135
134
needs : test
136
135
steps :
137
136
- uses : actions/checkout@v4
@@ -154,7 +153,7 @@ jobs:
154
153
- uses : actions/checkout@v4
155
154
- uses : docker/setup-qemu-action@v3
156
155
- run : |
157
- docker run --rm -v $(pwd):/tmp/project --entrypoint /bin/sh --platform linux/${{ matrix.arch }} node:18 -alpine -c "\
156
+ docker run --rm -v $(pwd):/tmp/project --entrypoint /bin/sh --platform linux/${{ matrix.arch }} node:20 -alpine -c "\
158
157
apk add build-base git python3 py3-setuptools --update-cache && \
159
158
cd /tmp/project && \
160
159
npm install --ignore-scripts && \
@@ -175,7 +174,7 @@ jobs:
175
174
- uses : actions/checkout@v4
176
175
- uses : docker/setup-qemu-action@v3
177
176
- run : |
178
- docker run --rm -v $(pwd):/tmp/project --entrypoint /bin/sh --platform linux/${{ matrix.arch }} node:18 -bullseye -c "\
177
+ docker run --rm -v $(pwd):/tmp/project --entrypoint /bin/sh --platform linux/${{ matrix.arch }} node:20 -bullseye -c "\
179
178
cd /tmp/project && \
180
179
npm install --ignore-scripts && \
181
180
${{ env.NODE_BUILD_CMD }} -u ${{ secrets.GITHUB_TOKEN }} && \
0 commit comments