Add some basic testing of arm64 linux
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 42406e7..dc40d23 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -25,6 +25,10 @@
macos:
xcode: "13.4.1"
resource_class: macos.m1.medium.gen1
+ linux_arm64:
+ machine:
+ image: ubuntu-2004:202101-01
+ resource_class: arm.medium
commands:
setup-macos:
@@ -83,6 +87,14 @@
command: |
source emsdk_env.sh
test/test.py
+ test-linux-arm64:
+ executor: linux_arm64
+ steps:
+ - checkout
+ - run:
+ name: Install debian packages
+ command: sudo apt-get update -q && sudo apt-get install -q cmake build-essential openjdk-8-jre-headless
+ - run: test/test.sh
test-mac:
executor: mac
steps:
@@ -257,6 +269,9 @@
test-linux:
jobs:
- test-linux
+ test-linux-arm64:
+ jobs:
+ - test-linux-arm64
test-mac:
jobs:
- test-mac
diff --git a/test/test.sh b/test/test.sh
index 0abab84..5033fd9 100755
--- a/test/test.sh
+++ b/test/test.sh
@@ -1,21 +1,29 @@
#!/usr/bin/env bash
echo "test the standard workflow (as close as possible to how a user would do it, in the shell)"
+echo "machine: $(uname -m)"
+echo "kernel: $(uname -s)"
set -x
set -e
# Test that arbitrary (non-released) versions can be installed and
# activated.
-./emsdk install sdk-upstream-1b7f7bc6002a3ca73647f41fc10e1fac7f06f804
-./emsdk activate sdk-upstream-1b7f7bc6002a3ca73647f41fc10e1fac7f06f804
-source ./emsdk_env.sh
-which emcc
-emcc -v
+# This test cannot run on linux-arm64 because only certain binaries
+# get uploaded for this architecture.
+if [[ !($(uname -s) == "Linux" && $(uname -m) == "aarch64") ]]; then
+ ./emsdk install sdk-upstream-1b7f7bc6002a3ca73647f41fc10e1fac7f06f804
+ ./emsdk activate sdk-upstream-1b7f7bc6002a3ca73647f41fc10e1fac7f06f804
+ source ./emsdk_env.sh
+ which emcc
+ emcc -v
+fi
+# Install an older version of the SDK that requires EM_CACHE to be
+# set in the environment, so that we can test it is later removed
+# This test only runs on x64 because we didn't build arm binaries
+# when this older version of the SDK was built.
if [[ $(uname -m) == "x86_64" ]]; then
- # Install an older version of the SDK that requires EM_CACHE to be
- # set in the environment, so that we can test it is later removed
./emsdk install sdk-1.39.15
./emsdk activate sdk-1.39.15
source ./emsdk_env.sh