66 - published
77
88env :
9- NODE_BUILD_CMD : npx --no-install prebuild -r node -t 20.0.0 -t 22.0.0 -t 24.0.0 --include-regex 'better_sqlite3.node$' -u ${{ secrets.GITHUB_TOKEN }}
10- 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 -t 37.0.0 -t 38.0.0 --include-regex 'better_sqlite3.node$' -u ${{ secrets.GITHUB_TOKEN }}
9+ NODE_BUILD_CMD_LEGACY : npx --no-install prebuild -r node -t 20.0.0 -t 22.0.0 -t 24.0.0 --include-regex 'better_sqlite3.node$' -u ${{ secrets.GITHUB_TOKEN }}
10+ ELECTRON_BUILD_CMD_LEGACY : 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 -t 37.0.0 -t 38.0.0 --include-regex 'better_sqlite3.node$' -u ${{ secrets.GITHUB_TOKEN }}
11+ ELECTRON_BUILD_CMD_MODERN : npx --no-install prebuild -r electron -t 39.0.0 --include-regex 'better_sqlite3.node$' -u ${{ secrets.GITHUB_TOKEN }}
1112
1213jobs :
1314 prebuild :
@@ -30,63 +31,94 @@ jobs:
3031 - if : ${{ startsWith(matrix.os, 'macos') }}
3132 run : brew install python-setuptools
3233 - run : npm install --ignore-scripts
33- - run : ${{ env.NODE_BUILD_CMD }}
34- - run : ${{ env.ELECTRON_BUILD_CMD }}
34+ - run : ${{ env.NODE_BUILD_CMD_LEGACY }}
35+ - run : ${{ env.ELECTRON_BUILD_CMD_LEGACY }}
36+ - run : ${{ env.ELECTRON_BUILD_CMD_MODERN }}
3537 - if : matrix.os == 'windows-2022'
3638 run : |
37- ${{ env.NODE_BUILD_CMD }} --arch ia32
38- ${{ env.NODE_BUILD_CMD }} --arch arm64
39- ${{ env.ELECTRON_BUILD_CMD }} --arch ia32
40- ${{ env.ELECTRON_BUILD_CMD }} --arch arm64
39+ ${{ env.NODE_BUILD_CMD_LEGACY }} --arch ia32
40+ ${{ env.NODE_BUILD_CMD_LEGACY }} --arch arm64
41+ ${{ env.ELECTRON_BUILD_CMD_LEGACY }} --arch ia32
42+ ${{ env.ELECTRON_BUILD_CMD_LEGACY }} --arch arm64
43+ ${{ env.ELECTRON_BUILD_CMD_MODERN }} --arch ia32
44+ ${{ env.ELECTRON_BUILD_CMD_MODERN }} --arch arm64
4145
42- prebuild-linux-x64 :
43- name : Prebuild on Linux x64
44- runs-on : ubuntu-latest
45- container : node:20-bullseye
46- steps :
47- - uses : actions/checkout@v4
48- - run : npm install --ignore-scripts
49- - run : ${{ env.NODE_BUILD_CMD }}
50- - run : ${{ env.ELECTRON_BUILD_CMD }}
51-
52- prebuild-alpine-linux :
53- name : Prebuild on Alpine-Linux (x64)
54- runs-on : ubuntu-latest
55- container : node:20-alpine
46+ prebuild-linux :
47+ strategy :
48+ fail-fast : false
49+ matrix :
50+ os :
51+ - ubuntu-latest
52+ - ubuntu-24.04-arm
53+ image :
54+ - node:20-bullseye
55+ - node:20-bookworm
56+ include :
57+ - image : node:20-bullseye
58+ generation : legacy
59+ - image : node:20-bookworm
60+ generation : modern
61+ - os : ubuntu-latest
62+ arch : x64
63+ - os : ubuntu-24.04-arm
64+ arch : arm64
65+ name : Prebuild on Linux ${{ matrix.arch }} (${{ matrix.generation }})
66+ runs-on : ${{ matrix.os }}
67+ container : ${{ matrix.image }}
5668 steps :
5769 - uses : actions/checkout@v4
58- - run : apk add build-base git python3 py3-setuptools --update-cache
5970 - run : npm install --ignore-scripts
60- - run : ${{ env.NODE_BUILD_CMD }}
71+ - if : matrix.generation == 'legacy'
72+ run : |
73+ ${{ env.NODE_BUILD_CMD_LEGACY }}
74+ ${{ env.ELECTRON_BUILD_CMD_LEGACY }}
75+ - if : matrix.generation == 'modern'
76+ run : |
77+ ${{ env.ELECTRON_BUILD_CMD_MODERN }}
6178
62- prebuild-alpine-linux-arm64 :
63- name : Prebuild on Alpine-Linux (arm64)
79+ prebuild-linux-armv7 :
80+ strategy :
81+ fail-fast : false
82+ matrix :
83+ image :
84+ - node:20-bullseye
85+ - node:20-bookworm
86+ include :
87+ - image : node:20-bullseye
88+ generation : legacy
89+ - image : node:20-bookworm
90+ generation : modern
91+ name : Prebuild on Linux armv7 (${{ matrix.generation }})
6492 runs-on : ubuntu-latest
6593 steps :
6694 - uses : actions/checkout@v4
6795 - uses : docker/setup-qemu-action@v3
68- - run : |
69- docker run --rm -v $(pwd):/tmp/project --entrypoint /bin/sh --platform linux/arm64 node:20-alpine -c "\
70- apk add build-base git python3 py3-setuptools --update-cache && \
96+ - if : matrix.generation == 'legacy'
97+ run : |
98+ docker run --rm -v $(pwd):/tmp/project --entrypoint /bin/sh --platform linux/arm/v7 ${{ matrix.image }} -c " \
7199 cd /tmp/project && \
72100 npm install --ignore-scripts && \
73- ${{ env.NODE_BUILD_CMD }}"
101+ ${{ env.NODE_BUILD_CMD_LEGACY }}"
74102
75- prebuild-linux-arm :
103+ prebuild-alpine-linux :
76104 strategy :
77105 fail-fast : false
78106 matrix :
79- arch :
80- - arm/v7
81- - arm64
82- name : Prebuild on Linux (${{ matrix.arch }})
83- runs-on : ubuntu-latest
107+ os :
108+ - ubuntu-latest
109+ - ubuntu-24.04-arm
110+ include :
111+ - os : ubuntu-latest
112+ arch : x64
113+ - os : ubuntu-24.04-arm
114+ arch : arm64
115+ name : Prebuild on Alpine-Linux (${{ matrix.arch }})
116+ runs-on : ${{ matrix.os }}
84117 steps :
85118 - uses : actions/checkout@v4
86- - uses : docker/setup-qemu-action@v3
87119 - run : |
88- docker run --rm -v $(pwd):/tmp/project --entrypoint /bin/sh --platform linux/${{ matrix.arch }} node:20-bullseye -c "\
120+ docker run --rm -v $(pwd):/tmp/project --entrypoint /bin/sh node:20-alpine -c "\
121+ apk add build-base git python3 py3-setuptools --update-cache && \
89122 cd /tmp/project && \
90123 npm install --ignore-scripts && \
91- ${{ env.NODE_BUILD_CMD }} && \
92- if [ '${{ matrix.arch }}' = 'arm64' ]; then ${{ env.ELECTRON_BUILD_CMD }} --arch arm64; fi"
124+ ${{ env.NODE_BUILD_CMD_LEGACY }}"
0 commit comments