@@ -10,53 +10,32 @@ jobs:
1010 name : Build N-API modules
1111 runs-on : ${{ matrix.settings.host }}
1212 permissions : {}
13- defaults :
14- run :
15- shell : ${{ matrix.settings.shell }}
1613 strategy :
1714 fail-fast : false
1815 matrix :
1916 settings :
2017 - host : macos-15-intel
2118 target : x86_64-apple-darwin
2219 npm_platform : darwin-x64
23- shell : bash
2420 - host : macos-latest
2521 target : aarch64-apple-darwin
2622 npm_platform : darwin-arm64
27- shell : bash
2823 - host : windows-latest
2924 target : x86_64-pc-windows-msvc
3025 npm_platform : win32-x64-msvc
31- shell : bash
3226 - host : windows-11-arm
3327 target : aarch64-pc-windows-msvc
3428 npm_platform : win32-arm64-msvc
35- shell : bash
3629 - host : ubuntu-latest
3730 target : x86_64-unknown-linux-gnu
3831 npm_platform : linux-x64-gnu
39- shell : bash
4032 - host : ubuntu-24.04-arm
4133 target : aarch64-unknown-linux-gnu
4234 npm_platform : linux-arm64-gnu
43- shell : bash
44- - host : ubuntu-latest
45- target : x86_64-unknown-linux-musl
46- npm_platform : linux-x64-musl
47- alpine : true
48- alpine_arch : x86_64
49- shell : alpine.sh {0}
50- - host : ubuntu-latest
51- target : aarch64-unknown-linux-musl
52- npm_platform : linux-arm64-musl
53- alpine : true
54- alpine_arch : aarch64
55- shell : alpine.sh {0}
5635 steps :
5736 # Speed up apt-get operations by disabling unnecessary man-db auto-update
5837 - name : Disable man-db auto-update
59- if : runner.os == 'Linux' && !matrix.settings.alpine
38+ if : runner.os == 'Linux'
6039 run : |
6140 echo "man-db man-db/auto-update boolean false" | sudo debconf-set-selections
6241 sudo rm -f /var/lib/man-db/auto-update
@@ -72,33 +51,11 @@ jobs:
7251 cache : false
7352 - name : Setup Task runner
7453 uses : go-task/setup-task@v1
75- - name : Setup Alpine Linux
76- if : matrix.settings.alpine
77- uses : jirutka/setup-alpine@v1
78- with :
79- arch : ${{ matrix.settings.alpine_arch }}
80- packages : >
81- build-base
82- cups-dev
83- nodejs
84- npm
85- go-task
86- curl
87- - name : Install Linux dependencies (glibc)
88- if : runner.os == 'Linux' && !matrix.settings.alpine
54+ - name : Install Linux dependencies
55+ if : runner.os == 'Linux'
8956 run : |
9057 sudo apt-get update
9158 sudo apt-get install -y libcups2-dev pkg-config clang
92- - name : Install Rust toolchain in Alpine (musl)
93- if : matrix.settings.alpine
94- run : |
95- # Install rustup
96- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain none
97- source $HOME/.cargo/env
98- # Install toolchain and components from rust-toolchain.toml
99- rustup show
100- # Add musl target
101- rustup target add ${{ matrix.settings.target }}
10259 - name : Install dependencies
10360 run : npm ci
10461 - name : Build N-API module
@@ -138,46 +95,27 @@ jobs:
13895 runs-on : ${{ matrix.settings.host }}
13996 needs : build-napi
14097 permissions : {}
141- defaults :
142- run :
143- shell : ${{ matrix.settings.shell }}
14498 strategy :
14599 fail-fast : false
146100 matrix :
147101 settings :
148102 - host : macos-13
149103 target : x86_64-apple-darwin
150- shell : bash
151104 - host : macos-14
152105 target : aarch64-apple-darwin
153- shell : bash
154106 - host : windows-latest
155107 target : x86_64-pc-windows-msvc
156- shell : bash
157108 - host : windows-11-arm
158109 target : aarch64-pc-windows-msvc
159110 test_runtimes : rust node
160- shell : bash
161111 - host : ubuntu-latest
162112 target : x86_64-unknown-linux-gnu
163- shell : bash
164113 - host : ubuntu-24.04-arm
165114 target : aarch64-unknown-linux-gnu
166- shell : bash
167- - host : ubuntu-latest
168- target : x86_64-unknown-linux-musl
169- alpine : true
170- alpine_arch : x86_64
171- shell : alpine.sh {0}
172- - host : ubuntu-latest
173- target : aarch64-unknown-linux-musl
174- alpine : true
175- alpine_arch : aarch64
176- shell : alpine.sh {0}
177115 steps :
178116 # Speed up apt-get operations by disabling unnecessary man-db auto-update
179- - name : Disable man-db auto-update and install deps (glibc)
180- if : runner.os == 'Linux' && !matrix.settings.alpine
117+ - name : Disable man-db auto-update and install deps
118+ if : runner.os == 'Linux'
181119 run : |
182120 echo "man-db man-db/auto-update boolean false" | sudo debconf-set-selections
183121 sudo rm -f /var/lib/man-db/auto-update
@@ -208,27 +146,6 @@ jobs:
208146 with :
209147 version : 3.x
210148 repo-token : ${{ secrets.GITHUB_TOKEN }}
211- - name : Setup Alpine Linux
212- if : matrix.settings.alpine
213- uses : jirutka/setup-alpine@v1
214- with :
215- arch : ${{ matrix.settings.alpine_arch }}
216- packages : >
217- cups-dev
218- go-task
219- nodejs
220- npm
221- deno
222- bun
223- curl
224- - name : Install Rust toolchain in Alpine (musl)
225- if : matrix.settings.alpine
226- run : |
227- # Install rustup
228- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain none
229- source $HOME/.cargo/env
230- # Install toolchain and components from rust-toolchain.toml
231- rustup show
232149 - name : Download all N-API binary artifacts
233150 uses : actions/download-artifact@v5
234151 with :
0 commit comments