@@ -191,6 +191,69 @@ jobs:
191
191
name : bindings-linux-aarch64
192
192
path : packages/*/*.node
193
193
194
+ build-linux-arm7 :
195
+ name : stable - arm7-unknown-linux-gnu - node@14
196
+ runs-on : ubuntu-latest
197
+
198
+ steps :
199
+ - run : docker run --rm --privileged multiarch/qemu-user-static:register --reset
200
+
201
+ - uses : actions/checkout@v2
202
+
203
+ - name : Setup node
204
+ uses : actions/setup-node@v1
205
+ with :
206
+ node-version : 14
207
+
208
+ - name : Install
209
+ uses : actions-rs/toolchain@v1
210
+ with :
211
+ toolchain : stable
212
+ profile : minimal
213
+ override : true
214
+
215
+ - name : Generate Cargo.lock
216
+ uses : actions-rs/cargo@v1
217
+ with :
218
+ command : generate-lockfile
219
+
220
+ - name : Cache cargo registry
221
+ uses : actions/cache@v1
222
+ with :
223
+ path : ~/.cargo/registry
224
+ key : stable-linux-arm7-gnu-node@14-cargo-registry-trimmed-${{ hashFiles('**/Cargo.lock') }}
225
+
226
+ - name : Cache cargo index
227
+ uses : actions/cache@v1
228
+ with :
229
+ path : ~/.cargo/git
230
+ key : stable-linux-arm7-gnu-node@14-cargo-index-trimmed-${{ hashFiles('**/Cargo.lock') }}
231
+
232
+ - name : Cache NPM dependencies
233
+ uses : actions/cache@v1
234
+ with :
235
+ path : node_modules
236
+ key : npm-cache-linux-arm7-gnu-node@14-${{ hashFiles('yarn.lock') }}
237
+
238
+ - name : Install aarch64 toolchain
239
+ run : rustup target add armv7-unknown-linux-gnueabihf
240
+
241
+ - name : Install cross compile toolchain
242
+ run : |
243
+ sudo apt-get update
244
+ sudo apt-get install gcc-arm-linux-gnueabihf -y
245
+ - name : Install dependencies
246
+ run : yarn install --frozen-lockfile --registry https://registry.npmjs.org --network-timeout 300000
247
+
248
+ - name : Cross build arm7
249
+ run : yarn build -- -- --target armv7-unknown-linux-gnueabihf
250
+
251
+ - name : Upload artifact
252
+ uses : actions/upload-artifact@v2
253
+ with :
254
+ name : bindings-linux-arm7
255
+ path : packages/*/*.node
256
+
194
257
build-apple-silicon :
195
258
name : nightly - aarch64-apple-darwin - node@14
196
259
runs-on : macos-latest
@@ -249,6 +312,58 @@ jobs:
249
312
name : bindings-apple-aarch64
250
313
path : packages/*/*.node
251
314
315
+ build-android-aarch64 :
316
+ name : Build - Android - aarch64
317
+ runs-on : macos-latest
318
+ steps :
319
+ - uses : actions/checkout@v2
320
+
321
+ - name : Setup node
322
+ uses : actions/setup-node@v1
323
+ with :
324
+ node-version : 14
325
+
326
+ - name : Install aarch64 toolchain
327
+ run : rustup target add aarch64-linux-android
328
+
329
+ - name : Generate Cargo.lock
330
+ uses : actions-rs/cargo@v1
331
+ with :
332
+ command : generate-lockfile
333
+
334
+ - name : Cache cargo registry
335
+ uses : actions/cache@v1
336
+ with :
337
+ path : ~/.cargo/registry
338
+ key : nightly-apple-aarch64-node@14-cargo-registry-trimmed-${{ hashFiles('**/Cargo.lock') }}
339
+
340
+ - name : Cache cargo index
341
+ uses : actions/cache@v1
342
+ with :
343
+ path : ~/.cargo/git
344
+ key : nightly-apple-aarch64-node@14-cargo-index-trimmed-${{ hashFiles('**/Cargo.lock') }}
345
+
346
+ - name : Cache NPM dependencies
347
+ uses : actions/cache@v1
348
+ with :
349
+ path : node_modules
350
+ key : npm-cache-apple-aarch64-node@14-${{ hashFiles('yarn.lock') }}
351
+
352
+ - name : Install dependencies
353
+ run : yarn install --frozen-lockfile --registry https://registry.npmjs.org --network-timeout 300000
354
+
355
+ - name : Build
356
+ shell : bash
357
+ run : |
358
+ export CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android24-clang"
359
+ yarn build -- -- --target aarch64-linux-android
360
+
361
+ - name : Upload artifact
362
+ uses : actions/upload-artifact@v2
363
+ with :
364
+ name : bindings-android-aarch64
365
+ path : packages/*/*.node
366
+
252
367
test-binding :
253
368
name : Test bindings on ${{ matrix.os }} - node@${{ matrix.node }}
254
369
needs :
@@ -391,6 +506,8 @@ jobs:
391
506
- test-musl-binding
392
507
- test-binding
393
508
- test-linux-aarch64
509
+ - build-android-aarch64
510
+ - build-linux-arm7
394
511
- build-apple-silicon
395
512
runs-on : ubuntu-latest
396
513
steps :
@@ -401,12 +518,13 @@ jobs:
401
518
402
519
publish :
403
520
name : Publish
404
- if : " startsWith(github.event.head_commit.message, 'chore(release): publish')"
405
521
runs-on : ubuntu-latest
406
522
needs :
407
523
- test-binding
408
524
- test-musl-binding
409
525
- test-linux-aarch64
526
+ - build-android-aarch64
527
+ - build-linux-arm7
410
528
- build-apple-silicon
411
529
steps :
412
530
- uses : actions/checkout@v2
@@ -444,7 +562,9 @@ jobs:
444
562
- name : List packages
445
563
run : ls -R packages
446
564
shell : bash
565
+
447
566
- name : Lerna publish
567
+ if : " startsWith(github.event.head_commit.message, 'chore(release): publish')"
448
568
run : |
449
569
find ./packages/ -type d -maxdepth 1 -exec cp LICENSE {} \;
450
570
echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
0 commit comments