@napi-rs/cli 3.0.0-alpha.4 → 3.0.0-alpha.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli.mjs +0 -0
- package/dist/api/artifacts.js +32 -8
- package/dist/api/artifacts.js.map +1 -0
- package/dist/api/build.d.ts +1 -1
- package/dist/api/build.js +231 -30
- package/dist/api/build.js.map +1 -0
- package/dist/api/create-npm-dirs.js +46 -8
- package/dist/api/create-npm-dirs.js.map +1 -0
- package/dist/api/new.js +47 -20
- package/dist/api/new.js.map +1 -0
- package/dist/api/pre-publish.js +10 -7
- package/dist/api/pre-publish.js.map +1 -0
- package/dist/api/rename.js +10 -1
- package/dist/api/rename.js.map +1 -0
- package/dist/api/templates/.gitignore.d.ts +1 -1
- package/dist/api/templates/.gitignore.js +2 -0
- package/dist/api/templates/.gitignore.js.map +1 -0
- package/dist/api/templates/.npmignore.js +1 -0
- package/dist/api/templates/.npmignore.js.map +1 -0
- package/dist/api/templates/build.rs.js +1 -0
- package/dist/api/templates/build.rs.js.map +1 -0
- package/dist/api/templates/cargo.toml.js +1 -0
- package/dist/api/templates/cargo.toml.js.map +1 -0
- package/dist/api/templates/ci-template.d.ts +2 -1
- package/dist/api/templates/ci-template.js +150 -152
- package/dist/api/templates/ci-template.js.map +1 -0
- package/dist/api/templates/ci.yml.d.ts +2 -1
- package/dist/api/templates/ci.yml.js +19 -4
- package/dist/api/templates/ci.yml.js.map +1 -0
- package/dist/api/templates/index.js +1 -0
- package/dist/api/templates/index.js.map +1 -0
- package/dist/api/templates/js-binding.d.ts +1 -1
- package/dist/api/templates/js-binding.js +111 -13
- package/dist/api/templates/js-binding.js.map +1 -0
- package/dist/api/templates/lib.rs.js +2 -4
- package/dist/api/templates/lib.rs.js.map +1 -0
- package/dist/api/templates/load-wasi-template.d.ts +2 -0
- package/dist/api/templates/load-wasi-template.js +143 -0
- package/dist/api/templates/load-wasi-template.js.map +1 -0
- package/dist/api/templates/package.json.d.ts +9 -2
- package/dist/api/templates/package.json.js +53 -28
- package/dist/api/templates/package.json.js.map +1 -0
- package/dist/api/templates/wasi-worker-template.d.ts +2 -0
- package/dist/api/templates/wasi-worker-template.js +93 -0
- package/dist/api/templates/wasi-worker-template.js.map +1 -0
- package/dist/api/universalize.js +6 -5
- package/dist/api/universalize.js.map +1 -0
- package/dist/api/version.js +3 -2
- package/dist/api/version.js.map +1 -0
- package/dist/cli.js +1 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/artifacts.js +4 -4
- package/dist/commands/artifacts.js.map +1 -0
- package/dist/commands/build.js +2 -1
- package/dist/commands/build.js.map +1 -0
- package/dist/commands/create-npm-dirs.js +1 -0
- package/dist/commands/create-npm-dirs.js.map +1 -0
- package/dist/commands/help.js +2 -2
- package/dist/commands/help.js.map +1 -0
- package/dist/commands/new.js +15 -7
- package/dist/commands/new.js.map +1 -0
- package/dist/commands/pre-publish.js +1 -0
- package/dist/commands/pre-publish.js.map +1 -0
- package/dist/commands/rename.js +1 -0
- package/dist/commands/rename.js.map +1 -0
- package/dist/commands/universalize.js +1 -0
- package/dist/commands/universalize.js.map +1 -0
- package/dist/commands/version.js +1 -0
- package/dist/commands/version.js.map +1 -0
- package/dist/def/artifacts.d.ts +21 -1
- package/dist/def/artifacts.js +12 -4
- package/dist/def/artifacts.js.map +1 -0
- package/dist/def/build.d.ts +20 -2
- package/dist/def/build.js +16 -4
- package/dist/def/build.js.map +1 -0
- package/dist/def/create-npm-dirs.d.ts +10 -0
- package/dist/def/create-npm-dirs.js +6 -2
- package/dist/def/create-npm-dirs.js.map +1 -0
- package/dist/def/new.d.ts +24 -6
- package/dist/def/new.js +13 -3
- package/dist/def/new.js.map +1 -0
- package/dist/def/pre-publish.d.ts +10 -0
- package/dist/def/pre-publish.js +9 -5
- package/dist/def/pre-publish.js.map +1 -0
- package/dist/def/rename.d.ts +11 -1
- package/dist/def/rename.js +7 -3
- package/dist/def/rename.js.map +1 -0
- package/dist/def/universalize.d.ts +10 -0
- package/dist/def/universalize.js +6 -2
- package/dist/def/universalize.js.map +1 -0
- package/dist/def/version.d.ts +10 -0
- package/dist/def/version.js +6 -2
- package/dist/def/version.js.map +1 -0
- package/dist/index.cjs +5977 -8003
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/__tests__/config.spec.d.ts +1 -0
- package/dist/utils/__tests__/config.spec.js +63 -0
- package/dist/utils/__tests__/config.spec.js.map +1 -0
- package/dist/utils/__tests__/target.spec.js +1 -0
- package/dist/utils/__tests__/target.spec.js.map +1 -0
- package/dist/utils/__tests__/typegen.spec.js +9 -4
- package/dist/utils/__tests__/typegen.spec.js.map +1 -0
- package/dist/utils/__tests__/version.spec.js +1 -0
- package/dist/utils/__tests__/version.spec.js.map +1 -0
- package/dist/utils/cargo.js +2 -1
- package/dist/utils/cargo.js.map +1 -0
- package/dist/utils/ci.js +1 -0
- package/dist/utils/ci.js.map +1 -0
- package/dist/utils/config.d.ts +25 -5
- package/dist/utils/config.js +39 -6
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/log.js +1 -0
- package/dist/utils/log.js.map +1 -0
- package/dist/utils/metadata.js +3 -2
- package/dist/utils/metadata.js.map +1 -0
- package/dist/utils/misc.d.ts +1 -1
- package/dist/utils/misc.js +4 -3
- package/dist/utils/misc.js.map +1 -0
- package/dist/utils/target.d.ts +9 -5
- package/dist/utils/target.js +16 -1
- package/dist/utils/target.js.map +1 -0
- package/dist/utils/typegen.d.ts +4 -1
- package/dist/utils/typegen.js +27 -6
- package/dist/utils/typegen.js.map +1 -0
- package/dist/utils/version.d.ts +2 -1
- package/dist/utils/version.js +13 -10
- package/dist/utils/version.js.map +1 -0
- package/package.json +50 -16
- package/src/api/artifacts.ts +85 -10
- package/src/api/build.ts +381 -32
- package/src/api/create-npm-dirs.ts +56 -8
- package/src/api/new.ts +69 -33
- package/src/api/pre-publish.ts +21 -12
- package/src/api/rename.ts +10 -1
- package/src/api/templates/.gitignore.ts +1 -0
- package/src/api/templates/ci-template.ts +151 -152
- package/src/api/templates/ci.yml.ts +19 -4
- package/src/api/templates/js-binding.ts +114 -13
- package/src/api/templates/lib.rs.ts +1 -4
- package/src/api/templates/load-wasi-template.ts +150 -0
- package/src/api/templates/package.json.ts +74 -27
- package/src/api/templates/wasi-worker-template.ts +93 -0
- package/src/api/universalize.ts +8 -5
- package/src/api/version.ts +5 -2
- package/src/commands/artifacts.ts +2 -2
- package/src/commands/build.ts +1 -1
- package/src/commands/new.ts +14 -8
- package/src/def/artifacts.ts +22 -3
- package/src/def/build.ts +32 -4
- package/src/def/create-npm-dirs.ts +9 -0
- package/src/def/new.ts +28 -3
- package/src/def/pre-publish.ts +12 -3
- package/src/def/rename.ts +11 -2
- package/src/def/universalize.ts +9 -0
- package/src/def/version.ts +9 -0
- package/src/index.ts +2 -0
- package/src/utils/__tests__/__snapshots__/config.spec.ts.md +97 -0
- package/src/utils/__tests__/__snapshots__/config.spec.ts.snap +0 -0
- package/src/utils/__tests__/__snapshots__/target.spec.ts.md +7 -0
- package/src/utils/__tests__/__snapshots__/target.spec.ts.snap +0 -0
- package/src/utils/__tests__/__snapshots__/typegen.spec.ts.md +555 -0
- package/src/utils/__tests__/__snapshots__/typegen.spec.ts.snap +0 -0
- package/src/utils/__tests__/__snapshots__/version.spec.ts.md +9 -8
- package/src/utils/__tests__/__snapshots__/version.spec.ts.snap +0 -0
- package/src/utils/__tests__/config.spec.ts +81 -0
- package/src/utils/__tests__/typegen.spec.ts +19 -4
- package/src/utils/cargo.ts +1 -1
- package/src/utils/config.ts +85 -9
- package/src/utils/metadata.ts +2 -2
- package/src/utils/misc.ts +11 -3
- package/src/utils/target.ts +23 -7
- package/src/utils/typegen.ts +30 -5
- package/src/utils/version.ts +11 -9
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
import type { SupportedPackageManager } from '../../utils/config.js'
|
|
2
|
+
|
|
3
|
+
export const YAML = (packageManager: SupportedPackageManager) => `
|
|
2
4
|
name: CI
|
|
3
5
|
|
|
4
6
|
env:
|
|
5
7
|
DEBUG: 'napi:*'
|
|
6
8
|
MACOSX_DEPLOYMENT_TARGET: '10.13'
|
|
7
9
|
|
|
10
|
+
permissions:
|
|
11
|
+
contents: write
|
|
12
|
+
id-token: write
|
|
13
|
+
|
|
8
14
|
on:
|
|
9
15
|
push:
|
|
10
16
|
branches:
|
|
@@ -28,97 +34,66 @@ jobs:
|
|
|
28
34
|
settings:
|
|
29
35
|
- host: macos-latest
|
|
30
36
|
target: 'x86_64-apple-darwin'
|
|
31
|
-
build:
|
|
32
|
-
yarn build --platform
|
|
33
|
-
strip -x *.node
|
|
37
|
+
build: ${packageManager} build --platform
|
|
34
38
|
- host: windows-latest
|
|
35
|
-
build:
|
|
39
|
+
build: ${packageManager} build --platform
|
|
36
40
|
target: 'x86_64-pc-windows-msvc'
|
|
37
41
|
- host: windows-latest
|
|
38
42
|
build: |
|
|
39
|
-
|
|
40
|
-
|
|
43
|
+
${packageManager} build --platform --target i686-pc-windows-msvc
|
|
44
|
+
${packageManager} test
|
|
41
45
|
target: 'i686-pc-windows-msvc'
|
|
42
46
|
- host: ubuntu-latest
|
|
43
47
|
target: 'x86_64-unknown-linux-gnu'
|
|
44
|
-
|
|
45
|
-
build: >-
|
|
46
|
-
set -e &&\n
|
|
47
|
-
yarn build --platform --target x86_64-unknown-linux-gnu &&\n
|
|
48
|
-
strip *.node
|
|
48
|
+
build: ${packageManager} build --platform --target x86_64-unknown-linux-gnu --use-napi-cross
|
|
49
49
|
- host: ubuntu-latest
|
|
50
50
|
target: 'x86_64-unknown-linux-musl'
|
|
51
|
-
|
|
52
|
-
build: >-
|
|
53
|
-
set -e &&
|
|
54
|
-
yarn build --platform &&
|
|
55
|
-
strip *.node
|
|
51
|
+
build: ${packageManager} build --platform --target x86_64-unknown-linux-musl -x
|
|
56
52
|
- host: macos-latest
|
|
57
53
|
target: 'aarch64-apple-darwin'
|
|
58
|
-
build:
|
|
59
|
-
yarn build --platform --target aarch64-apple-darwin
|
|
60
|
-
strip -x *.node
|
|
54
|
+
build: ${packageManager} build --platform --target aarch64-apple-darwin
|
|
61
55
|
- host: ubuntu-latest
|
|
62
56
|
target: 'aarch64-unknown-linux-gnu'
|
|
63
|
-
|
|
64
|
-
build: >-
|
|
65
|
-
set -e &&\n
|
|
66
|
-
yarn build --platform --target aarch64-unknown-linux-gnu &&\n
|
|
67
|
-
aarch64-unknown-linux-gnu-strip *.node
|
|
57
|
+
build: ${packageManager} build --platform --target aarch64-unknown-linux-gnu --use-napi-cross
|
|
68
58
|
- host: ubuntu-latest
|
|
69
59
|
target: 'armv7-unknown-linux-gnueabihf'
|
|
70
|
-
|
|
71
|
-
sudo apt-get update
|
|
72
|
-
sudo apt-get install gcc-arm-linux-gnueabihf -y
|
|
73
|
-
build: |
|
|
74
|
-
yarn build --platform --target armv7-unknown-linux-gnueabihf --cross-compile
|
|
75
|
-
arm-linux-gnueabihf-strip *.node
|
|
60
|
+
build: ${packageManager} build --platform --target armv7-unknown-linux-gnueabihf --use-napi-cross
|
|
76
61
|
- host: ubuntu-latest
|
|
77
62
|
target: 'aarch64-linux-android'
|
|
78
|
-
build:
|
|
79
|
-
yarn build --platform --target aarch64-linux-android
|
|
80
|
-
\${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip *.node
|
|
63
|
+
build: ${packageManager} build --platform --target aarch64-linux-android
|
|
81
64
|
- host: ubuntu-latest
|
|
82
65
|
target: 'armv7-linux-androideabi'
|
|
83
|
-
build:
|
|
84
|
-
yarn build --platform --target armv7-linux-androideabi
|
|
85
|
-
\${ANDROID_NDK_LATEST_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip *.node
|
|
66
|
+
build: ${packageManager} build --platform --target armv7-linux-androideabi
|
|
86
67
|
- host: ubuntu-latest
|
|
87
68
|
target: 'aarch64-unknown-linux-musl'
|
|
88
|
-
|
|
89
|
-
build: >-
|
|
90
|
-
set -e &&\n
|
|
91
|
-
rustup target add aarch64-unknown-linux-musl &&\n
|
|
92
|
-
yarn build --platform --target aarch64-unknown-linux-musl &&\n
|
|
93
|
-
/aarch64-linux-musl-cross/bin/aarch64-linux-musl-strip *.node
|
|
69
|
+
build: ${packageManager} build --platform --target aarch64-unknown-linux-musl -x
|
|
94
70
|
- host: windows-latest
|
|
95
71
|
target: 'aarch64-pc-windows-msvc'
|
|
96
|
-
build:
|
|
72
|
+
build: ${packageManager} build --platform --target aarch64-pc-windows-msvc
|
|
97
73
|
- host: ubuntu-latest
|
|
98
74
|
target: 'riscv64gc-unknown-linux-gnu'
|
|
99
75
|
setup: |
|
|
100
76
|
sudo apt-get update
|
|
101
77
|
sudo apt-get install gcc-riscv64-linux-gnu -y
|
|
102
|
-
build:
|
|
103
|
-
|
|
104
|
-
|
|
78
|
+
build: ${packageManager} build --platform --target riscv64gc-unknown-linux-gnu
|
|
79
|
+
- host: ubuntu-latest
|
|
80
|
+
target: 'wasm32-wasi-preview1-threads'
|
|
81
|
+
build: ${packageManager} build --platform --target wasm32-wasi-preview1-threads
|
|
105
82
|
|
|
106
|
-
name: stable - \${{ matrix.settings.target }} - node@
|
|
83
|
+
name: stable - \${{ matrix.settings.target }} - node@20
|
|
107
84
|
runs-on: \${{ matrix.settings.host }}
|
|
108
85
|
|
|
109
86
|
steps:
|
|
110
|
-
- uses: actions/checkout@
|
|
87
|
+
- uses: actions/checkout@v4
|
|
111
88
|
|
|
112
89
|
- name: Setup node
|
|
113
|
-
uses: actions/setup-node@
|
|
114
|
-
if: \${{ !matrix.settings.docker }}
|
|
90
|
+
uses: actions/setup-node@v4
|
|
115
91
|
with:
|
|
116
|
-
node-version:
|
|
117
|
-
cache:
|
|
92
|
+
node-version: 20
|
|
93
|
+
cache: ${packageManager}
|
|
118
94
|
|
|
119
95
|
- name: Install
|
|
120
96
|
uses: dtolnay/rust-toolchain@stable
|
|
121
|
-
if: \${{ !matrix.settings.docker }}
|
|
122
97
|
with:
|
|
123
98
|
toolchain: stable
|
|
124
99
|
targets: \${{ matrix.settings.target }}
|
|
@@ -130,14 +105,15 @@ jobs:
|
|
|
130
105
|
~/.cargo/registry/index/
|
|
131
106
|
~/.cargo/registry/cache/
|
|
132
107
|
~/.cargo/git/db/
|
|
108
|
+
~/.napi-rs
|
|
133
109
|
.cargo-cache
|
|
134
110
|
target/
|
|
135
111
|
key: \${{ matrix.settings.target }}-cargo-\${{ matrix.settings.host }}
|
|
136
112
|
|
|
137
113
|
- uses: goto-bus-stop/setup-zig@v2
|
|
138
|
-
if: \${{ matrix.settings.target
|
|
114
|
+
if: \${{ contains(matrix.settings.target, 'musl') }}
|
|
139
115
|
with:
|
|
140
|
-
version: 0.
|
|
116
|
+
version: 0.11.0
|
|
141
117
|
|
|
142
118
|
- name: Setup toolchain
|
|
143
119
|
run: \${{ matrix.settings.setup }}
|
|
@@ -150,82 +126,80 @@ jobs:
|
|
|
150
126
|
shell: bash
|
|
151
127
|
|
|
152
128
|
- name: 'Install dependencies'
|
|
153
|
-
run:
|
|
129
|
+
run: ${packageManager} install
|
|
154
130
|
|
|
155
131
|
- name: Setup node x86
|
|
156
|
-
uses: actions/setup-node@
|
|
132
|
+
uses: actions/setup-node@v4
|
|
157
133
|
if: matrix.settings.target == 'i686-pc-windows-msvc'
|
|
158
134
|
with:
|
|
159
|
-
node-version:
|
|
160
|
-
cache: yarn
|
|
135
|
+
node-version: 20
|
|
161
136
|
architecture: x86
|
|
162
137
|
|
|
163
|
-
- name: Build in docker
|
|
164
|
-
uses: addnab/docker-run-action@v3
|
|
165
|
-
if: \${{ matrix.settings.docker }}
|
|
166
|
-
with:
|
|
167
|
-
image: \${{ matrix.settings.docker }}
|
|
168
|
-
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
|
|
169
|
-
run: \${{ matrix.settings.build }}
|
|
170
|
-
|
|
171
138
|
- name: 'Build'
|
|
172
139
|
run: \${{ matrix.settings.build }}
|
|
173
|
-
if: \${{ !matrix.settings.docker }}
|
|
174
140
|
shell: bash
|
|
175
141
|
|
|
176
142
|
- name: Upload artifact
|
|
177
|
-
uses: actions/upload-artifact@
|
|
143
|
+
uses: actions/upload-artifact@v4
|
|
144
|
+
if: matrix.settings.target != 'wasm32-wasi-preview1-threads'
|
|
178
145
|
with:
|
|
179
146
|
name: bindings-\${{ matrix.settings.target }}
|
|
180
147
|
path: "*.node"
|
|
181
148
|
if-no-files-found: error
|
|
182
149
|
|
|
150
|
+
- name: Upload artifact
|
|
151
|
+
uses: actions/upload-artifact@v4
|
|
152
|
+
if: matrix.settings.target == 'wasm32-wasi-preview1-threads'
|
|
153
|
+
with:
|
|
154
|
+
name: bindings-\${{ matrix.settings.target }}
|
|
155
|
+
path: "*.wasm"
|
|
156
|
+
if-no-files-found: error
|
|
157
|
+
|
|
183
158
|
build-freebsd:
|
|
184
159
|
runs-on: macos-12
|
|
185
160
|
name: Build FreeBSD
|
|
186
161
|
steps:
|
|
187
|
-
- uses: actions/checkout@
|
|
162
|
+
- uses: actions/checkout@v4
|
|
188
163
|
- name: Build
|
|
189
164
|
id: build
|
|
190
|
-
uses:
|
|
165
|
+
uses: cross-platform-actions/action@v0.21.1
|
|
166
|
+
timeout-minutes: 30
|
|
191
167
|
env:
|
|
192
168
|
DEBUG: 'napi:*'
|
|
193
|
-
RUSTUP_HOME: /usr/local/rustup
|
|
194
|
-
CARGO_HOME: /usr/local/cargo
|
|
195
169
|
RUSTUP_IO_THREADS: 1
|
|
196
170
|
with:
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
171
|
+
operating_system: freebsd
|
|
172
|
+
version: '13.2'
|
|
173
|
+
memory: 8G
|
|
174
|
+
cpu_count: 3
|
|
175
|
+
environment_variables: 'DEBUG RUSTUP_IO_THREADS'
|
|
176
|
+
shell: bash
|
|
177
|
+
run: |
|
|
178
|
+
sudo pkg install -y -f curl node libnghttp2 npm
|
|
179
|
+
sudo npm install -g ${packageManager} --ignore-scripts
|
|
204
180
|
curl https://sh.rustup.rs -sSf --output rustup.sh
|
|
205
|
-
sh rustup.sh -y --profile minimal --default-toolchain
|
|
206
|
-
|
|
181
|
+
sh rustup.sh -y --profile minimal --default-toolchain stable
|
|
182
|
+
source "$HOME/.cargo/env"
|
|
207
183
|
echo "~~~~ rustc --version ~~~~"
|
|
208
184
|
rustc --version
|
|
209
185
|
echo "~~~~ node -v ~~~~"
|
|
210
186
|
node -v
|
|
211
187
|
echo "~~~~ yarn --version ~~~~"
|
|
212
188
|
yarn --version
|
|
213
|
-
run: |
|
|
214
|
-
export PATH="/usr/local/cargo/bin:$PATH"
|
|
215
189
|
pwd
|
|
216
190
|
ls -lah
|
|
217
191
|
whoami
|
|
218
192
|
env
|
|
219
193
|
freebsd-version
|
|
220
|
-
|
|
221
|
-
|
|
194
|
+
${packageManager} install
|
|
195
|
+
${packageManager} build
|
|
222
196
|
strip -x *.node
|
|
223
197
|
yarn test
|
|
224
198
|
rm -rf node_modules
|
|
225
199
|
rm -rf target
|
|
226
200
|
rm -rf .yarn/cache
|
|
227
201
|
- name: Upload artifact
|
|
228
|
-
uses: actions/upload-artifact@
|
|
202
|
+
uses: actions/upload-artifact@v4
|
|
229
203
|
with:
|
|
230
204
|
name: bindings-freebsd
|
|
231
205
|
path: "*.node"
|
|
@@ -243,23 +217,23 @@ jobs:
|
|
|
243
217
|
target: 'x86_64-apple-darwin'
|
|
244
218
|
- host: windows-latest
|
|
245
219
|
target: 'x86_64-pc-windows-msvc'
|
|
246
|
-
node: ['
|
|
220
|
+
node: ['18', '20']
|
|
247
221
|
runs-on: \${{ matrix.settings.host }}
|
|
248
222
|
|
|
249
223
|
steps:
|
|
250
|
-
- uses: actions/checkout@
|
|
224
|
+
- uses: actions/checkout@v4
|
|
251
225
|
|
|
252
226
|
- name: Setup node
|
|
253
|
-
uses: actions/setup-node@
|
|
227
|
+
uses: actions/setup-node@v4
|
|
254
228
|
with:
|
|
255
229
|
node-version: \${{ matrix.node }}
|
|
256
|
-
cache: '
|
|
230
|
+
cache: '${packageManager}'
|
|
257
231
|
|
|
258
232
|
- name: 'Install dependencies'
|
|
259
|
-
run:
|
|
233
|
+
run: ${packageManager} install
|
|
260
234
|
|
|
261
235
|
- name: Download artifacts
|
|
262
|
-
uses: actions/download-artifact@
|
|
236
|
+
uses: actions/download-artifact@v4
|
|
263
237
|
with:
|
|
264
238
|
name: bindings-\${{ matrix.settings.target }}
|
|
265
239
|
path: .
|
|
@@ -269,7 +243,7 @@ jobs:
|
|
|
269
243
|
shell: bash
|
|
270
244
|
|
|
271
245
|
- name: Test bindings
|
|
272
|
-
run:
|
|
246
|
+
run: ${packageManager} test
|
|
273
247
|
|
|
274
248
|
test-linux-x64-gnu-binding:
|
|
275
249
|
name: Test bindings on Linux-x64-gnu - node@\${{ matrix.node }}
|
|
@@ -278,23 +252,23 @@ jobs:
|
|
|
278
252
|
strategy:
|
|
279
253
|
fail-fast: false
|
|
280
254
|
matrix:
|
|
281
|
-
node: ['
|
|
255
|
+
node: ['18', '20']
|
|
282
256
|
runs-on: ubuntu-latest
|
|
283
257
|
|
|
284
258
|
steps:
|
|
285
|
-
- uses: actions/checkout@
|
|
259
|
+
- uses: actions/checkout@v4
|
|
286
260
|
|
|
287
261
|
- name: Setup node
|
|
288
|
-
uses: actions/setup-node@
|
|
262
|
+
uses: actions/setup-node@v4
|
|
289
263
|
with:
|
|
290
264
|
node-version: \${{ matrix.node }}
|
|
291
|
-
cache: '
|
|
265
|
+
cache: '${packageManager}'
|
|
292
266
|
|
|
293
267
|
- name: 'Install dependencies'
|
|
294
|
-
run:
|
|
268
|
+
run: ${packageManager} install
|
|
295
269
|
|
|
296
270
|
- name: Download artifacts
|
|
297
|
-
uses: actions/download-artifact@
|
|
271
|
+
uses: actions/download-artifact@v4
|
|
298
272
|
with:
|
|
299
273
|
name: bindings-x86_64-unknown-linux-gnu
|
|
300
274
|
path: .
|
|
@@ -313,14 +287,14 @@ jobs:
|
|
|
313
287
|
strategy:
|
|
314
288
|
fail-fast: false
|
|
315
289
|
matrix:
|
|
316
|
-
node: ['
|
|
290
|
+
node: ['18', '20']
|
|
317
291
|
runs-on: ubuntu-latest
|
|
318
292
|
|
|
319
293
|
steps:
|
|
320
|
-
- uses: actions/checkout@
|
|
294
|
+
- uses: actions/checkout@v4
|
|
321
295
|
|
|
322
296
|
- name: Setup node
|
|
323
|
-
uses: actions/setup-node@
|
|
297
|
+
uses: actions/setup-node@v4
|
|
324
298
|
with:
|
|
325
299
|
node-version: \${{ matrix.node }}
|
|
326
300
|
cache: 'yarn'
|
|
@@ -328,10 +302,10 @@ jobs:
|
|
|
328
302
|
- name: 'Install dependencies'
|
|
329
303
|
run: |
|
|
330
304
|
yarn config set supportedArchitectures.libc "musl"
|
|
331
|
-
|
|
305
|
+
${packageManager} install
|
|
332
306
|
|
|
333
307
|
- name: Download artifacts
|
|
334
|
-
uses: actions/download-artifact@
|
|
308
|
+
uses: actions/download-artifact@v4
|
|
335
309
|
with:
|
|
336
310
|
name: bindings-x86_64-unknown-linux-musl
|
|
337
311
|
path: .
|
|
@@ -350,14 +324,14 @@ jobs:
|
|
|
350
324
|
strategy:
|
|
351
325
|
fail-fast: false
|
|
352
326
|
matrix:
|
|
353
|
-
node: ['
|
|
327
|
+
node: ['20']
|
|
354
328
|
runs-on: ubuntu-latest
|
|
355
329
|
|
|
356
330
|
steps:
|
|
357
|
-
- uses: actions/checkout@
|
|
331
|
+
- uses: actions/checkout@v4
|
|
358
332
|
|
|
359
333
|
- name: Download artifacts
|
|
360
|
-
uses: actions/download-artifact@
|
|
334
|
+
uses: actions/download-artifact@v4
|
|
361
335
|
with:
|
|
362
336
|
name: bindings-aarch64-unknown-linux-gnu
|
|
363
337
|
path: .
|
|
@@ -370,10 +344,10 @@ jobs:
|
|
|
370
344
|
run: |
|
|
371
345
|
yarn config set supportedArchitectures.cpu "arm64"
|
|
372
346
|
yarn config set supportedArchitectures.libc "glibc"
|
|
373
|
-
|
|
347
|
+
${packageManager} install
|
|
374
348
|
|
|
375
349
|
- name: Set up QEMU
|
|
376
|
-
uses: docker/setup-qemu-action@
|
|
350
|
+
uses: docker/setup-qemu-action@v3
|
|
377
351
|
with:
|
|
378
352
|
platforms: arm64
|
|
379
353
|
- run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
|
@@ -383,23 +357,24 @@ jobs:
|
|
|
383
357
|
with:
|
|
384
358
|
image: node:\${{ matrix.node }}-slim
|
|
385
359
|
options: --platform linux/arm64 -v \${{ github.workspace }}:/build -w /build
|
|
386
|
-
run:
|
|
387
|
-
set -e
|
|
388
|
-
yarn test
|
|
389
|
-
ls -la
|
|
360
|
+
run: yarn test
|
|
390
361
|
|
|
391
362
|
test-linux-aarch64-musl-binding:
|
|
392
363
|
name: Test bindings on aarch64-unknown-linux-musl - node@\${{ matrix.node }}
|
|
393
364
|
needs:
|
|
394
365
|
- build
|
|
366
|
+
strategy:
|
|
367
|
+
fail-fast: false
|
|
368
|
+
matrix:
|
|
369
|
+
node: ['18', '20']
|
|
395
370
|
|
|
396
371
|
runs-on: ubuntu-latest
|
|
397
372
|
|
|
398
373
|
steps:
|
|
399
|
-
- uses: actions/checkout@
|
|
374
|
+
- uses: actions/checkout@v4
|
|
400
375
|
|
|
401
376
|
- name: Download artifacts
|
|
402
|
-
uses: actions/download-artifact@
|
|
377
|
+
uses: actions/download-artifact@v4
|
|
403
378
|
with:
|
|
404
379
|
name: bindings-aarch64-unknown-linux-musl
|
|
405
380
|
path: .
|
|
@@ -412,10 +387,10 @@ jobs:
|
|
|
412
387
|
run: |
|
|
413
388
|
yarn config set supportedArchitectures.cpu "arm64"
|
|
414
389
|
yarn config set supportedArchitectures.libc "musl"
|
|
415
|
-
|
|
390
|
+
${packageManager} install
|
|
416
391
|
|
|
417
392
|
- name: Set up QEMU
|
|
418
|
-
uses: docker/setup-qemu-action@
|
|
393
|
+
uses: docker/setup-qemu-action@v3
|
|
419
394
|
with:
|
|
420
395
|
platforms: arm64
|
|
421
396
|
- run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
|
@@ -423,11 +398,9 @@ jobs:
|
|
|
423
398
|
- name: Setup and run tests
|
|
424
399
|
uses: addnab/docker-run-action@v3
|
|
425
400
|
with:
|
|
426
|
-
image: node
|
|
401
|
+
image: node:\${{ matrix.node }}-alpine
|
|
427
402
|
options: --platform linux/arm64 -v \${{ github.workspace }}:/build -w /build
|
|
428
|
-
run:
|
|
429
|
-
set -e
|
|
430
|
-
yarn test
|
|
403
|
+
run: yarn test
|
|
431
404
|
|
|
432
405
|
test-linux-arm-gnueabihf-binding:
|
|
433
406
|
name: Test bindings on armv7-unknown-linux-gnueabihf - node@\${{ matrix.node }}
|
|
@@ -436,14 +409,14 @@ jobs:
|
|
|
436
409
|
strategy:
|
|
437
410
|
fail-fast: false
|
|
438
411
|
matrix:
|
|
439
|
-
node: ['
|
|
412
|
+
node: ['18', '20']
|
|
440
413
|
runs-on: ubuntu-latest
|
|
441
414
|
|
|
442
415
|
steps:
|
|
443
|
-
- uses: actions/checkout@
|
|
416
|
+
- uses: actions/checkout@v4
|
|
444
417
|
|
|
445
418
|
- name: Download artifacts
|
|
446
|
-
uses: actions/download-artifact@
|
|
419
|
+
uses: actions/download-artifact@v4
|
|
447
420
|
with:
|
|
448
421
|
name: bindings-armv7-unknown-linux-gnueabihf
|
|
449
422
|
path: .
|
|
@@ -455,10 +428,10 @@ jobs:
|
|
|
455
428
|
- name: Install dependencies
|
|
456
429
|
run: |
|
|
457
430
|
yarn config set supportedArchitectures.cpu "arm"
|
|
458
|
-
|
|
431
|
+
${packageManager} install
|
|
459
432
|
|
|
460
433
|
- name: Set up QEMU
|
|
461
|
-
uses: docker/setup-qemu-action@
|
|
434
|
+
uses: docker/setup-qemu-action@v3
|
|
462
435
|
with:
|
|
463
436
|
platforms: arm
|
|
464
437
|
- run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
|
@@ -468,10 +441,7 @@ jobs:
|
|
|
468
441
|
with:
|
|
469
442
|
image: node:\${{ matrix.node }}-bullseye-slim
|
|
470
443
|
options: --platform linux/arm/v7 -v \${{ github.workspace }}:/build -w /build
|
|
471
|
-
run:
|
|
472
|
-
set -e
|
|
473
|
-
yarn test
|
|
474
|
-
ls -la
|
|
444
|
+
run: ${packageManager} test
|
|
475
445
|
|
|
476
446
|
universal-macOS:
|
|
477
447
|
name: Build universal macOS binary
|
|
@@ -480,38 +450,67 @@ jobs:
|
|
|
480
450
|
runs-on: macos-latest
|
|
481
451
|
|
|
482
452
|
steps:
|
|
483
|
-
- uses: actions/checkout@
|
|
453
|
+
- uses: actions/checkout@v4
|
|
484
454
|
|
|
485
455
|
- name: Setup node
|
|
486
|
-
uses: actions/setup-node@
|
|
456
|
+
uses: actions/setup-node@v4
|
|
487
457
|
with:
|
|
488
|
-
node-version:
|
|
489
|
-
cache:
|
|
458
|
+
node-version: 20
|
|
459
|
+
cache: ${packageManager}
|
|
490
460
|
|
|
491
461
|
- name: 'Install dependencies'
|
|
492
|
-
run:
|
|
462
|
+
run: ${packageManager} install
|
|
493
463
|
|
|
494
464
|
- name: Download macOS x64 artifact
|
|
495
|
-
uses: actions/download-artifact@
|
|
465
|
+
uses: actions/download-artifact@v4
|
|
496
466
|
with:
|
|
497
467
|
name: bindings-x86_64-apple-darwin
|
|
498
468
|
path: .
|
|
499
469
|
- name: Download macOS arm64 artifact
|
|
500
|
-
uses: actions/download-artifact@
|
|
470
|
+
uses: actions/download-artifact@v4
|
|
501
471
|
with:
|
|
502
472
|
name: bindings-aarch64-apple-darwin
|
|
503
473
|
path: .
|
|
504
474
|
|
|
505
475
|
- name: Combine binaries
|
|
506
|
-
run:
|
|
476
|
+
run: ${packageManager} napi universalize
|
|
507
477
|
|
|
508
478
|
- name: Upload artifact
|
|
509
|
-
uses: actions/upload-artifact@
|
|
479
|
+
uses: actions/upload-artifact@v4
|
|
510
480
|
with:
|
|
511
481
|
name: bindings-universal-apple-darwin
|
|
512
482
|
path: "*.node"
|
|
513
483
|
if-no-files-found: error
|
|
514
484
|
|
|
485
|
+
test-wasi-nodejs:
|
|
486
|
+
name: Test bindings on wasi - node@\${{ matrix.node }}
|
|
487
|
+
needs:
|
|
488
|
+
- build
|
|
489
|
+
strategy:
|
|
490
|
+
fail-fast: false
|
|
491
|
+
matrix:
|
|
492
|
+
node: ['18', '20']
|
|
493
|
+
runs-on: ubuntu-latest
|
|
494
|
+
steps:
|
|
495
|
+
- uses: actions/checkout@v4
|
|
496
|
+
- name: Download artifacts
|
|
497
|
+
uses: actions/download-artifact@v4
|
|
498
|
+
with:
|
|
499
|
+
name: bindings-wasm32-wasi-preview1-threads
|
|
500
|
+
path: .
|
|
501
|
+
- name: List packages
|
|
502
|
+
run: ls -R .
|
|
503
|
+
- uses: actions/setup-node@v4
|
|
504
|
+
with:
|
|
505
|
+
node-version: \${{ matrix.node }}
|
|
506
|
+
cache: ${packageManager}
|
|
507
|
+
- name: 'Install dependencies'
|
|
508
|
+
run: ${packageManager} install
|
|
509
|
+
- name: Test
|
|
510
|
+
run: ${packageManager} test
|
|
511
|
+
env:
|
|
512
|
+
NAPI_RS_FORCE_WASI: true
|
|
513
|
+
|
|
515
514
|
publish:
|
|
516
515
|
name: Publish
|
|
517
516
|
runs-on: ubuntu-latest
|
|
@@ -522,22 +521,24 @@ jobs:
|
|
|
522
521
|
- test-linux-arm-gnueabihf-binding
|
|
523
522
|
- test-macOS-windows-binding
|
|
524
523
|
- test-linux-aarch64-musl-binding
|
|
524
|
+
- test-wasi-nodejs
|
|
525
525
|
- build-freebsd
|
|
526
526
|
|
|
527
527
|
steps:
|
|
528
|
-
- uses: actions/checkout@
|
|
528
|
+
- uses: actions/checkout@v4
|
|
529
529
|
|
|
530
530
|
- name: Setup node
|
|
531
|
-
uses: actions/setup-node@
|
|
531
|
+
uses: actions/setup-node@v4
|
|
532
532
|
with:
|
|
533
|
-
node-version:
|
|
534
|
-
cache: '
|
|
533
|
+
node-version: 20
|
|
534
|
+
cache: '${packageManager}'
|
|
535
|
+
registry-url: 'https://registry.npmjs.org'
|
|
535
536
|
|
|
536
537
|
- name: 'Install dependencies'
|
|
537
|
-
run:
|
|
538
|
+
run: ${packageManager} install
|
|
538
539
|
|
|
539
540
|
- name: Download all artifacts
|
|
540
|
-
uses: actions/download-artifact@
|
|
541
|
+
uses: actions/download-artifact@v4
|
|
541
542
|
with:
|
|
542
543
|
path: artifacts
|
|
543
544
|
|
|
@@ -552,16 +553,14 @@ jobs:
|
|
|
552
553
|
run: |
|
|
553
554
|
if git log -1 --pretty=%B | grep "^[0-9]\\+\\.[0-9]\\+\\.[0-9]\\+$";
|
|
554
555
|
then
|
|
555
|
-
|
|
556
|
-
npm publish --access public
|
|
556
|
+
npm publish --access public --provenance
|
|
557
557
|
elif git log -1 --pretty=%B | grep "^[0-9]\\+\\.[0-9]\\+\\.[0-9]\\+";
|
|
558
558
|
then
|
|
559
|
-
|
|
560
|
-
npm publish --tag next --access public
|
|
559
|
+
npm publish --tag next --access public --provenance
|
|
561
560
|
else
|
|
562
561
|
echo "Not a release, skipping publish"
|
|
563
562
|
fi
|
|
564
563
|
env:
|
|
565
564
|
GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}
|
|
566
|
-
|
|
565
|
+
NODE_AUTH_TOKEN: \${{ secrets.NPM_TOKEN }}
|
|
567
566
|
`
|