Skip to content

Commit c6230cd

Browse files
committed
fix(ci): test JS CI
1 parent e0999a1 commit c6230cd

12 files changed

+439
-729
lines changed

.cargo/config.toml

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[target.aarch64-unknown-linux-musl]
2+
linker = "aarch64-linux-musl-gcc"
3+
rustflags = ["-C", "target-feature=-crt-static"]

.github/workflows/napi.yml

+74-72
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,7 @@ env:
44
DEBUG: napi:*
55
APP_NAME: node
66
MACOSX_DEPLOYMENT_TARGET: "10.13"
7-
8-
defaults:
9-
run:
10-
working-directory: ./node
7+
COREPACK_ENABLE_STRICT: 0
118

129
permissions:
1310
contents: write
@@ -25,60 +22,60 @@ jobs:
2522
fail-fast: false
2623
matrix:
2724
settings:
28-
- host: macos-latest
29-
target: x86_64-apple-darwin
30-
build: pnpm build
31-
- host: windows-latest
32-
build: pnpm build
33-
target: x86_64-pc-windows-msvc
34-
- host: windows-latest
35-
build: |
36-
pnpm build --target i686-pc-windows-msvc
37-
pnpm test
38-
target: i686-pc-windows-msvc
39-
- host: ubuntu-latest
40-
target: x86_64-unknown-linux-gnu
41-
docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian
42-
build: pnpm build --target x86_64-unknown-linux-gnu
43-
- host: ubuntu-latest
44-
target: x86_64-unknown-linux-musl
45-
docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine
46-
build: pnpm build
47-
- host: macos-latest
48-
target: aarch64-apple-darwin
49-
build: pnpm build --target aarch64-apple-darwin
25+
# - host: macos-latest
26+
# target: x86_64-apple-darwin
27+
# build: pnpm build
28+
# - host: windows-latest
29+
# build: pnpm build
30+
# target: x86_64-pc-windows-msvc
31+
# - host: windows-latest
32+
# build: |
33+
# pnpm build --target i686-pc-windows-msvc
34+
# pnpm test
35+
# target: i686-pc-windows-msvc
36+
# - host: ubuntu-latest
37+
# target: x86_64-unknown-linux-gnu
38+
# docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian
39+
# build: pnpm build --target x86_64-unknown-linux-gnu
40+
# - host: ubuntu-latest
41+
# target: x86_64-unknown-linux-musl
42+
# docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine
43+
# build: pnpm build
44+
# - host: macos-latest
45+
# target: aarch64-apple-darwin
46+
# build: pnpm build --target aarch64-apple-darwin
5047
- host: ubuntu-latest
5148
target: aarch64-unknown-linux-gnu
5249
docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian-aarch64
5350
build: pnpm build --target aarch64-unknown-linux-gnu
54-
- host: ubuntu-latest
55-
target: armv7-unknown-linux-gnueabihf
56-
setup: |
57-
sudo apt-get update
58-
sudo apt-get install gcc-arm-linux-gnueabihf -y
59-
build: pnpm build --target armv7-unknown-linux-gnueabihf
60-
- host: ubuntu-latest
61-
target: aarch64-linux-android
62-
build: pnpm build --target aarch64-linux-android
63-
- host: ubuntu-latest
64-
target: armv7-linux-androideabi
65-
build: pnpm build --target armv7-linux-androideabi
66-
- host: ubuntu-latest
67-
target: aarch64-unknown-linux-musl
68-
docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine
69-
build: |-
70-
set -e &&
71-
rustup target add aarch64-unknown-linux-musl &&
72-
pnpm build --target aarch64-unknown-linux-musl
73-
- host: windows-latest
74-
target: aarch64-pc-windows-msvc
75-
build: pnpm build --target aarch64-pc-windows-msvc
76-
- host: ubuntu-latest
77-
target: riscv64gc-unknown-linux-gnu
78-
setup: |
79-
sudo apt-get update
80-
sudo apt-get install gcc-riscv64-linux-gnu -y
81-
build: pnpm build --target riscv64gc-unknown-linux-gnu
51+
# - host: ubuntu-latest
52+
# target: armv7-unknown-linux-gnueabihf
53+
# setup: |
54+
# sudo apt-get update
55+
# sudo apt-get install gcc-arm-linux-gnueabihf -y
56+
# build: pnpm build --target armv7-unknown-linux-gnueabihf
57+
# - host: ubuntu-latest
58+
# target: aarch64-linux-android
59+
# build: pnpm build --target aarch64-linux-android
60+
# - host: ubuntu-latest
61+
# target: armv7-linux-androideabi
62+
# build: pnpm build --target armv7-linux-androideabi
63+
# - host: ubuntu-latest
64+
# target: aarch64-unknown-linux-musl
65+
# docker: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine
66+
# build: |-
67+
# set -e &&
68+
# rustup target add aarch64-unknown-linux-musl &&
69+
# pnpm build --target aarch64-unknown-linux-musl
70+
# - host: windows-latest
71+
# target: aarch64-pc-windows-msvc
72+
# build: pnpm build --target aarch64-pc-windows-msvc
73+
# - host: ubuntu-latest
74+
# target: riscv64gc-unknown-linux-gnu
75+
# setup: |
76+
# sudo apt-get update
77+
# sudo apt-get install gcc-riscv64-linux-gnu -y
78+
# build: pnpm build --target riscv64gc-unknown-linux-gnu
8279
name: stable - ${{ matrix.settings.target }} - node@20
8380
runs-on: ${{ matrix.settings.host }}
8481
steps:
@@ -120,7 +117,7 @@ jobs:
120117
run: pnpm config set supportedArchitectures.cpu "ia32"
121118
shell: bash
122119
- name: Install dependencies
123-
run: pnpm install
120+
run: pnpm install --no-frozen-lockfile
124121
- name: Setup node x86
125122
uses: actions/setup-node@v4
126123
if: matrix.settings.target == 'i686-pc-windows-msvc'
@@ -133,17 +130,19 @@ jobs:
133130
if: ${{ matrix.settings.docker }}
134131
with:
135132
image: ${{ matrix.settings.docker }}
136-
options: "--user 0:0 -v ${{ github.workspace }}/.cargo-cache/git/db:/usr/local/cargo/git/db -v ${{ github.workspace }}/.cargo/registry/cache:/usr/local/cargo/registry/cache -v ${{ github.workspace }}/.cargo/registry/index:/usr/local/cargo/registry/index -v ${{ github.workspace }}:/build -w /build"
137-
run: ${{ matrix.settings.build }}
133+
options: "-e COREPACK_ENABLE_STRICT=0 --user 0:0 -v ${{ github.workspace }}/.cargo-cache/git/db:/usr/local/cargo/git/db -v ${{ github.workspace }}/.cargo/registry/cache:/usr/local/cargo/registry/cache -v ${{ github.workspace }}/.cargo/registry/index:/usr/local/cargo/registry/index -v ${{ github.workspace }}:/build -w /build"
134+
run: cd node && ${{ matrix.settings.build }} && ls -a /build/node
138135
- name: Build
139-
run: ${{ matrix.settings.build }}
136+
run: cd node && ${{ matrix.settings.build }}
140137
if: ${{ !matrix.settings.docker }}
141138
shell: bash
139+
- name: Echo workspace
140+
run: ls -a "${{ github.workspace }}/node"
142141
- name: Upload artifact
143142
uses: actions/upload-artifact@v4
144143
with:
145144
name: bindings-${{ matrix.settings.target }}
146-
path: ${{ env.APP_NAME }}.*.node
145+
path: node/dist/${{ env.APP_NAME }}.*.node
147146
if-no-files-found: error
148147
build-freebsd:
149148
runs-on: macos-12
@@ -181,16 +180,16 @@ jobs:
181180
env
182181
freebsd-version
183182
pnpm install
184-
pnpm build
185-
pnpm test
183+
pnpm --filter=node build
184+
pnpm --filter=node test
186185
rm -rf node_modules
187186
rm -rf target
188187
rm -rf .pnpm/cache
189188
- name: Upload artifact
190189
uses: actions/upload-artifact@v4
191190
with:
192191
name: bindings-freebsd
193-
path: ${{ env.APP_NAME }}.*.node
192+
path: node/dist/${{ env.APP_NAME }}.*.node
194193
if-no-files-found: error
195194
test-macOS-windows-binding:
196195
name: Test bindings on ${{ matrix.settings.target }} - node@${{ matrix.node }}
@@ -221,12 +220,12 @@ jobs:
221220
uses: actions/download-artifact@v4
222221
with:
223222
name: bindings-${{ matrix.settings.target }}
224-
path: .
223+
path: ./node/dist
225224
- name: List packages
226225
run: ls -R .
227226
shell: bash
228227
- name: Test bindings
229-
run: pnpm test
228+
run: cd node && pnpm test
230229
test-linux-x64-gnu-binding:
231230
name: Test bindings on Linux-x64-gnu - node@${{ matrix.node }}
232231
needs:
@@ -251,12 +250,12 @@ jobs:
251250
uses: actions/download-artifact@v4
252251
with:
253252
name: bindings-x86_64-unknown-linux-gnu
254-
path: .
253+
path: ./node/dist
255254
- name: List packages
256255
run: ls -R .
257256
shell: bash
258257
- name: Test bindings
259-
run: docker run --rm -v $(pwd):/build -w /build node:${{ matrix.node }}-slim pnpm test
258+
run: docker run --rm -v $(pwd):/build -w /build node:${{ matrix.node }}-slim pnpm --filter=node test
260259
test-linux-x64-musl-binding:
261260
name: Test bindings on x86_64-unknown-linux-musl - node@${{ matrix.node }}
262261
needs:
@@ -283,12 +282,12 @@ jobs:
283282
uses: actions/download-artifact@v4
284283
with:
285284
name: bindings-x86_64-unknown-linux-musl
286-
path: .
285+
path: ./node/dist
287286
- name: List packages
288287
run: ls -R .
289288
shell: bash
290289
- name: Test bindings
291-
run: docker run --rm -v $(pwd):/build -w /build node:${{ matrix.node }}-alpine pnpm test
290+
run: docker run --rm -v $(pwd):/build -w /build node:${{ matrix.node }}-alpine pnpm --filter=node test
292291
test-linux-aarch64-gnu-binding:
293292
name: Test bindings on aarch64-unknown-linux-gnu - node@${{ matrix.node }}
294293
needs:
@@ -306,7 +305,7 @@ jobs:
306305
uses: actions/download-artifact@v4
307306
with:
308307
name: bindings-aarch64-unknown-linux-gnu
309-
path: .
308+
path: ./node/dist
310309
- name: List packages
311310
run: ls -R .
312311
shell: bash
@@ -327,6 +326,7 @@ jobs:
327326
options: "--platform linux/arm64 -v ${{ github.workspace }}:/build -w /build"
328327
run: |
329328
set -e
329+
cd node
330330
pnpm test
331331
ls -la
332332
test-linux-aarch64-musl-binding:
@@ -340,7 +340,7 @@ jobs:
340340
uses: actions/download-artifact@v4
341341
with:
342342
name: bindings-aarch64-unknown-linux-musl
343-
path: .
343+
path: ./node/dist
344344
- name: List packages
345345
run: ls -R .
346346
shell: bash
@@ -361,6 +361,7 @@ jobs:
361361
options: "--platform linux/arm64 -v ${{ github.workspace }}:/build -w /build"
362362
run: |
363363
set -e
364+
cd node
364365
pnpm test
365366
test-linux-arm-gnueabihf-binding:
366367
name: Test bindings on armv7-unknown-linux-gnueabihf - node@${{ matrix.node }}
@@ -379,7 +380,7 @@ jobs:
379380
uses: actions/download-artifact@v4
380381
with:
381382
name: bindings-armv7-unknown-linux-gnueabihf
382-
path: .
383+
path: ./node/dist
383384
- name: List packages
384385
run: ls -R .
385386
shell: bash
@@ -399,6 +400,7 @@ jobs:
399400
options: "--platform linux/arm/v7 -v ${{ github.workspace }}:/build -w /build"
400401
run: |
401402
set -e
403+
cd node
402404
pnpm test
403405
ls -la
404406
universal-macOS:
@@ -431,7 +433,7 @@ jobs:
431433
uses: actions/upload-artifact@v4
432434
with:
433435
name: bindings-universal-apple-darwin
434-
path: ${{ env.APP_NAME }}.*.node
436+
path: node/dist/${{ env.APP_NAME }}.*.node
435437
if-no-files-found: error
436438
publish:
437439
name: Publish

.gitignore

+4-1
Original file line numberDiff line numberDiff line change
@@ -758,4 +758,7 @@ TSWLatexianTemp*
758758
.preview
759759

760760
# Node bindings
761-
*.node
761+
*.node
762+
763+
.cargo
764+
!.cargo/config.toml

.tool-versions

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ gradle 7.5.1
33
kotlin 2.0.0
44
java adoptopenjdk-21.0.3+9.0.LTS
55
nodejs 20.14.0
6-
just latest
6+
just latest

justfile

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44

55
@deps: && (node "deps")
66
mise install
7-
corepack enable
7+
corepack install
8+
corepack enable pnpm
89

910
@bench +args="":
1011
cargo bench {{args}}

node/index.d.ts

-12
This file was deleted.

0 commit comments

Comments
 (0)