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