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