@@ -26,6 +26,12 @@ executors:
26
26
macos :
27
27
xcode : " 13.4.1"
28
28
resource_class : macos.x86.medium.gen2
29
+ mac-arm64 :
30
+ environment :
31
+ EMSDK_NOTTY : " 1"
32
+ macos :
33
+ xcode : " 14.2.0"
34
+ resource_class : macos.m1.medium.gen1
29
35
30
36
commands :
31
37
download-chrome :
@@ -261,6 +267,21 @@ commands:
261
267
test_targets : << parameters.test_targets >>
262
268
title : << parameters.title >>
263
269
- upload-test-results
270
+ setup-macos :
271
+ steps :
272
+ - run :
273
+ name : Install brew package dependencies
274
+ environment :
275
+ HOMEBREW_NO_AUTO_UPDATE : " 1"
276
+ command : |
277
+ brew list cmake || brew install cmake
278
+ brew list ninja || brew install ninja
279
+ brew list python3 || brew install python3
280
+ brew list pkg-config || brew install pkg-config
281
+ - checkout
282
+ - run :
283
+ name : submodule update
284
+ command : git submodule update --init
264
285
test-firefox :
265
286
description : " Runs emscripten tests under firefox"
266
287
steps :
@@ -657,9 +678,9 @@ jobs:
657
678
- run :
658
679
name : Add python to bash path
659
680
command : echo "export PATH=\"$PATH:/c/Python27amd64/\"" >> $BASH_ENV
660
- - build
661
681
# note we do *not* build all libraries and freeze the cache; as we run
662
682
# only limited tests here, it's more efficient to build on demand
683
+ - build
663
684
- pip-install :
664
685
python : " $EMSDK_PYTHON"
665
686
- run-tests :
@@ -684,30 +705,43 @@ jobs:
684
705
EMTEST_SKIP_SCONS : " 1"
685
706
EMCC_SKIP_SANITY_CHECK : " 1"
686
707
steps :
687
- - run :
688
- name : Install brew package dependencies
689
- environment :
690
- HOMEBREW_NO_AUTO_UPDATE : " 1"
691
- command : |
692
- brew list cmake || brew install cmake
693
- brew list ninja || brew install ninja
694
- brew list python3 || brew install python3
695
- brew list pkg-config || brew install pkg-config
708
+ - setup-macos
696
709
- attach_workspace :
697
710
at : ~/
698
- - checkout
699
- - run :
700
- name : submodule update
701
- command : git submodule update --init
702
711
- run :
703
712
name : Remove Linux binaries
704
713
command : |
705
714
rm -rf ~/emsdk ~/vms ~/.jsvu
706
- - build
707
715
# note we do *not* build all libraries and freeze the cache; as we run
708
716
# only limited tests here, it's more efficient to build on demand
717
+ - build
709
718
- pip-install :
710
719
python : " $EMSDK_PYTHON"
720
+ - run-tests :
721
+ title : " other+extras"
722
+ test_targets : " other skip:other.test_native_link_error_message"
723
+ - upload-test-results
724
+
725
+ test-mac-arm64 :
726
+ executor : mac-arm64
727
+ environment :
728
+ # We don't install d8 or modern node on the mac runner so we skip any
729
+ # tests that depend on those.
730
+ EMTEST_SKIP_V8 : " 1"
731
+ EMTEST_SKIP_EH : " 1"
732
+ EMTEST_SKIP_WASM64 : " 1"
733
+ EMTEST_SKIP_SIMD : " 1"
734
+ EMTEST_SKIP_SCONS : " 1"
735
+ EMCC_SKIP_SANITY_CHECK : " 1"
736
+ steps :
737
+ - setup-macos
738
+ - build
739
+ # TODO: We can't currently do pip install here since numpy and other packages
740
+ # are currently missing arm64 macos binaries.
741
+ # TODO: Remove this once emsdk has an arm64 version of node
742
+ - run :
743
+ name : Install Rosetta
744
+ command : /usr/sbin/softwareupdate --install-rosetta --agree-to-license
711
745
- run-tests :
712
746
title : " crossplatform tests"
713
747
test_targets : " --crossplatform-only"
@@ -756,6 +790,7 @@ workflows:
756
790
- build-linux
757
791
- test-node-compat
758
792
- test-windows
793
+ - test-mac-arm64
759
794
- test-mac :
760
795
# The mac tester also uses the libraries built on the linux builder to
761
796
# save total build time (this is fine because the libraries are wasm
0 commit comments