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