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