From c68a2b2de272fb079b4f684e3c40dc9e572c81fd Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Wed, 26 Jul 2023 14:52:24 -0700 Subject: [PATCH 01/20] Use new aarch64-android Dockerfile --- ci/docker/aarch64-linux-android/Dockerfile | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ci/docker/aarch64-linux-android/Dockerfile b/ci/docker/aarch64-linux-android/Dockerfile index 27bde89c5..9d997cbab 100644 --- a/ci/docker/aarch64-linux-android/Dockerfile +++ b/ci/docker/aarch64-linux-android/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:16.04 +FROM ubuntu:20.04 RUN dpkg --add-architecture i386 && \ apt-get update && \ @@ -20,16 +20,18 @@ WORKDIR /android/ COPY android* /android/ ENV ANDROID_ARCH=aarch64 -ENV PATH=$PATH:/android/ndk-$ANDROID_ARCH/bin:/android/sdk/tools:/android/sdk/platform-tools -RUN sh /android/android-install-ndk.sh $ANDROID_ARCH +RUN sh /android/android-install-ndk.sh +ENV PATH=$PATH:/android/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin RUN sh /android/android-install-sdk.sh $ANDROID_ARCH +ENV PATH=$PATH:/android/sdk/tools:/android/sdk/platform-tools + RUN mv /root/.android /tmp RUN chmod 777 -R /tmp/.android RUN chmod 755 /android/sdk/tools/* /android/sdk/emulator/qemu/linux-x86_64/* ENV PATH=$PATH:/rust/bin \ - CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=aarch64-linux-android-gcc \ + CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=aarch64-linux-android21-clang \ CARGO_TARGET_AARCH64_LINUX_ANDROID_RUNNER=/tmp/runtest \ OBJDUMP=aarch64-linux-android-objdump \ HOME=/tmp From b6d0dec97d320d8f60dd14f0bf4228ffa11916bc Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Wed, 26 Jul 2023 14:52:49 -0700 Subject: [PATCH 02/20] Use new thumbv7neon-android Dockerfile --- ci/docker/thumbv7neon-linux-androideabi/Dockerfile | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/ci/docker/thumbv7neon-linux-androideabi/Dockerfile b/ci/docker/thumbv7neon-linux-androideabi/Dockerfile index c1da77109..2f2e4d91a 100644 --- a/ci/docker/thumbv7neon-linux-androideabi/Dockerfile +++ b/ci/docker/thumbv7neon-linux-androideabi/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:16.04 +FROM ubuntu:20.04 RUN dpkg --add-architecture i386 && \ apt-get update && \ @@ -20,16 +20,19 @@ WORKDIR /android/ COPY android* /android/ ENV ANDROID_ARCH=arm -ENV PATH=$PATH:/android/ndk-$ANDROID_ARCH/bin:/android/sdk/tools:/android/sdk/platform-tools -RUN sh /android/android-install-ndk.sh $ANDROID_ARCH +RUN sh /android/android-install-ndk.sh +ENV PATH=$PATH:/android/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin + RUN sh /android/android-install-sdk.sh $ANDROID_ARCH +ENV PATH=$PATH:/android/sdk/tools:/android/sdk/platform-tools + RUN mv /root/.android /tmp RUN chmod 777 -R /tmp/.android RUN chmod 755 /android/sdk/tools/* /android/sdk/emulator/qemu/linux-x86_64/* ENV PATH=$PATH:/rust/bin \ - CARGO_TARGET_THUMBV7NEON_LINUX_ANDROIDEABI_LINKER=arm-linux-androideabi-gcc \ + CARGO_TARGET_THUMBV7NEON_LINUX_ANDROIDEABI_LINKER=armv7a-linux-androideabi19-clang \ CARGO_TARGET_THUMBV7NEON_LINUX_ANDROIDEABI_RUNNER=/tmp/runtest \ OBJDUMP=arm-linux-androideabi-objdump \ HOME=/tmp From 375196c13c0677bdee8137c98256c4c16bb5b058 Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Wed, 26 Jul 2023 14:53:40 -0700 Subject: [PATCH 03/20] Use new armv7-android Dockerfile --- ci/docker/armv7-linux-androideabi/Dockerfile | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/ci/docker/armv7-linux-androideabi/Dockerfile b/ci/docker/armv7-linux-androideabi/Dockerfile index 995a9e30e..917c7f6f8 100644 --- a/ci/docker/armv7-linux-androideabi/Dockerfile +++ b/ci/docker/armv7-linux-androideabi/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:16.04 +FROM ubuntu:20.04 RUN dpkg --add-architecture i386 && \ apt-get update && \ @@ -20,18 +20,19 @@ WORKDIR /android/ COPY android* /android/ ENV ANDROID_ARCH=arm -ENV PATH=$PATH:/android/ndk-$ANDROID_ARCH/bin:/android/sdk/tools:/android/sdk/platform-tools -RUN sh /android/android-install-ndk.sh $ANDROID_ARCH +RUN sh /android/android-install-ndk.sh +ENV PATH=$PATH:/android/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin RUN sh /android/android-install-sdk.sh $ANDROID_ARCH +ENV PATH=$PATH:/android/sdk/tools:/android/sdk/platform-tools RUN mv /root/.android /tmp RUN chmod 777 -R /tmp/.android RUN chmod 755 /android/sdk/tools/* /android/sdk/emulator/qemu/linux-x86_64/* ENV PATH=$PATH:/rust/bin \ - CARGO_TARGET_ARM_LINUX_ANDROIDEABI_LINKER=arm-linux-androideabi-gcc \ - CARGO_TARGET_ARM_LINUX_ANDROIDEABI_RUNNER=/tmp/runtest \ - OBJDUMP=arm-linux-androideabi-objdump \ + CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER=armv7a-linux-androideabi19-clang \ + CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_RUNNER=/tmp/runtest \ + OBJDUMP=llvm-objdump \ HOME=/tmp ADD runtest-android.rs /tmp/runtest.rs From cc14d3794d5e3d292b8910d996d149e34c591a61 Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Wed, 26 Jul 2023 15:00:17 -0700 Subject: [PATCH 04/20] Use a more recent JDK --- ci/docker/aarch64-linux-android/Dockerfile | 2 +- ci/docker/armv7-linux-androideabi/Dockerfile | 2 +- ci/docker/thumbv7neon-linux-androideabi/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ci/docker/aarch64-linux-android/Dockerfile b/ci/docker/aarch64-linux-android/Dockerfile index 9d997cbab..c609e63fd 100644 --- a/ci/docker/aarch64-linux-android/Dockerfile +++ b/ci/docker/aarch64-linux-android/Dockerfile @@ -10,7 +10,7 @@ RUN dpkg --add-architecture i386 && \ python \ unzip \ expect \ - openjdk-9-jre \ + openjdk-11-jre \ libstdc++6:i386 \ libpulse0 \ gcc \ diff --git a/ci/docker/armv7-linux-androideabi/Dockerfile b/ci/docker/armv7-linux-androideabi/Dockerfile index 917c7f6f8..c879fe8ff 100644 --- a/ci/docker/armv7-linux-androideabi/Dockerfile +++ b/ci/docker/armv7-linux-androideabi/Dockerfile @@ -10,7 +10,7 @@ RUN dpkg --add-architecture i386 && \ python \ unzip \ expect \ - openjdk-9-jre \ + openjdk-11-jre \ libstdc++6:i386 \ libpulse0 \ gcc \ diff --git a/ci/docker/thumbv7neon-linux-androideabi/Dockerfile b/ci/docker/thumbv7neon-linux-androideabi/Dockerfile index 2f2e4d91a..33246cdf1 100644 --- a/ci/docker/thumbv7neon-linux-androideabi/Dockerfile +++ b/ci/docker/thumbv7neon-linux-androideabi/Dockerfile @@ -10,7 +10,7 @@ RUN dpkg --add-architecture i386 && \ python \ unzip \ expect \ - openjdk-9-jre \ + openjdk-11-jre \ libstdc++6:i386 \ libpulse0 \ gcc \ From 37a7960c6d9f271e3384c283871a45d77634ad4c Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Wed, 26 Jul 2023 15:28:22 -0700 Subject: [PATCH 05/20] Update Android SDK Use more recent cmdline-tools for Arm Android --- ci/android-install-sdk.sh | 19 ++++++++++++++----- ci/docker/aarch64-linux-android/Dockerfile | 4 ++-- ci/docker/armv7-linux-androideabi/Dockerfile | 5 +++-- .../thumbv7neon-linux-androideabi/Dockerfile | 4 ++-- 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/ci/android-install-sdk.sh b/ci/android-install-sdk.sh index 6b5ac09ab..a3c1d7737 100644 --- a/ci/android-install-sdk.sh +++ b/ci/android-install-sdk.sh @@ -18,9 +18,12 @@ set -ex # located in https://github.com/appunite/docker by just wrapping it in a script # which apparently magically accepts the licenses. +ANDROID_SDK_URL=https://dl.google.com/android/repository +ANDROID_SDK_ARCHIVE=commandlinetools-linux-9477386_latest.zip + mkdir sdk -curl --retry 5 https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip -O -unzip -d sdk sdk-tools-linux-3859397.zip +curl --retry 5 "$ANDROID_SDK_URL/$ANDROID_SDK_ARCHIVE" -O +unzip -d sdk "$ANDROID_SDK_ARCHIVE" case "$1" in arm | armv7) @@ -45,16 +48,22 @@ case "$1" in ;; esac; +mv sdk/cmdline-tools latest +mkdir sdk/cmdline-tools +mv latest sdk/cmdline-tools + +ANDROID_SDK_BIN="./sdk/cmdline-tools/latest/bin" + # --no_https avoids # javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found -yes | ./sdk/tools/bin/sdkmanager --licenses --no_https -yes | ./sdk/tools/bin/sdkmanager --no_https \ +yes | "$ANDROID_SDK_BIN/sdkmanager" --licenses --no_https +yes | "$ANDROID_SDK_BIN/sdkmanager" --no_https \ "emulator" \ "platform-tools" \ "platforms;android-24" \ "system-images;android-24;default;$abi" echo "no" | - ./sdk/tools/bin/avdmanager create avd \ + "$ANDROID_SDK_BIN/avdmanager" create avd \ --name "${1}" \ --package "system-images;android-24;default;$abi" diff --git a/ci/docker/aarch64-linux-android/Dockerfile b/ci/docker/aarch64-linux-android/Dockerfile index c609e63fd..c7f73eafc 100644 --- a/ci/docker/aarch64-linux-android/Dockerfile +++ b/ci/docker/aarch64-linux-android/Dockerfile @@ -24,11 +24,11 @@ ENV ANDROID_ARCH=aarch64 RUN sh /android/android-install-ndk.sh ENV PATH=$PATH:/android/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin RUN sh /android/android-install-sdk.sh $ANDROID_ARCH -ENV PATH=$PATH:/android/sdk/tools:/android/sdk/platform-tools +ENV PATH=$PATH:/android/sdk/cmdline-tools:/android/sdk/platform-tools RUN mv /root/.android /tmp RUN chmod 777 -R /tmp/.android -RUN chmod 755 /android/sdk/tools/* /android/sdk/emulator/qemu/linux-x86_64/* +RUN chmod 755 /android/sdk/*tools/**/* /android/sdk/emulator/qemu/linux-x86_64/* ENV PATH=$PATH:/rust/bin \ CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=aarch64-linux-android21-clang \ diff --git a/ci/docker/armv7-linux-androideabi/Dockerfile b/ci/docker/armv7-linux-androideabi/Dockerfile index c879fe8ff..ba3616ea2 100644 --- a/ci/docker/armv7-linux-androideabi/Dockerfile +++ b/ci/docker/armv7-linux-androideabi/Dockerfile @@ -24,10 +24,11 @@ ENV ANDROID_ARCH=arm RUN sh /android/android-install-ndk.sh ENV PATH=$PATH:/android/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin RUN sh /android/android-install-sdk.sh $ANDROID_ARCH -ENV PATH=$PATH:/android/sdk/tools:/android/sdk/platform-tools +ENV PATH=$PATH:/android/sdk/cmdline-tools:/android/sdk/platform-tools + RUN mv /root/.android /tmp RUN chmod 777 -R /tmp/.android -RUN chmod 755 /android/sdk/tools/* /android/sdk/emulator/qemu/linux-x86_64/* +RUN chmod 755 /android/sdk/*tools/**/* /android/sdk/emulator/qemu/linux-x86_64/* ENV PATH=$PATH:/rust/bin \ CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER=armv7a-linux-androideabi19-clang \ diff --git a/ci/docker/thumbv7neon-linux-androideabi/Dockerfile b/ci/docker/thumbv7neon-linux-androideabi/Dockerfile index 33246cdf1..59b770f6b 100644 --- a/ci/docker/thumbv7neon-linux-androideabi/Dockerfile +++ b/ci/docker/thumbv7neon-linux-androideabi/Dockerfile @@ -25,11 +25,11 @@ RUN sh /android/android-install-ndk.sh ENV PATH=$PATH:/android/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin RUN sh /android/android-install-sdk.sh $ANDROID_ARCH -ENV PATH=$PATH:/android/sdk/tools:/android/sdk/platform-tools +ENV PATH=$PATH:/android/sdk/cmdline-tools:/android/sdk/platform-tools RUN mv /root/.android /tmp RUN chmod 777 -R /tmp/.android -RUN chmod 755 /android/sdk/tools/* /android/sdk/emulator/qemu/linux-x86_64/* +RUN chmod 755 /android/sdk/*tools/**/* /android/sdk/emulator/qemu/linux-x86_64/* ENV PATH=$PATH:/rust/bin \ CARGO_TARGET_THUMBV7NEON_LINUX_ANDROIDEABI_LINKER=armv7a-linux-androideabi19-clang \ From 21fd91314413e262394e460baa20cb831eddf6c4 Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Wed, 26 Jul 2023 22:01:57 -0700 Subject: [PATCH 06/20] Use Ubuntu 22 for aarch64-unknown-linux-gnu The simple hope is that a more recent QEMU might fix slowness. --- ci/docker/aarch64-unknown-linux-gnu/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/docker/aarch64-unknown-linux-gnu/Dockerfile b/ci/docker/aarch64-unknown-linux-gnu/Dockerfile index 41ff4729a..96ce2e87e 100644 --- a/ci/docker/aarch64-unknown-linux-gnu/Dockerfile +++ b/ci/docker/aarch64-unknown-linux-gnu/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:18.04 +FROM ubuntu:22.04 RUN apt-get update && apt-get install -y --no-install-recommends \ gcc \ ca-certificates \ From ebd01ff73efef3a17c970b19e098295391920abd Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Wed, 26 Jul 2023 22:12:59 -0700 Subject: [PATCH 07/20] Optimize aarch64 tests Attempt to combat the slowness of emulators for this particular platform, which are oddly even slower than I expect in general. It probably doesn't help that they run all tests except for the handful of x86-specific ones. --- Cargo.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index b5a4f46a2..dc7c0e719 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -41,3 +41,6 @@ optional = true # Keep in sync with the version on Dockerfile. wasm-bindgen = "=0.2.87" wasm-bindgen-test = "=0.3.37" + +[target.'cfg(target_arch = "aarch64")'.profile.dev] +opt-level = 3 # slow emulators From e7dc7b33070f5fdb72c5201abc763f61731514b3 Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Wed, 26 Jul 2023 22:16:14 -0700 Subject: [PATCH 08/20] Remove useless badges --- Cargo.toml | 2 -- 1 file changed, 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index dc7c0e719..0ef19c277 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,8 +12,6 @@ build = "build.rs" edition = "2018" [badges] -appveyor = { repository = "rust-lang/packed_simd" } -travis-ci = { repository = "rust-lang/packed_simd" } codecov = { repository = "rust-lang/packed_simd" } is-it-maintained-issue-resolution = { repository = "rust-lang/packed_simd" } is-it-maintained-open-issues = { repository = "rust-lang/packed_simd" } From eaf7dbcb6717a2e2133a3c5d34787cd6468eadd2 Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Wed, 26 Jul 2023 22:46:48 -0700 Subject: [PATCH 09/20] Try emulating recent Android --- ci/android-install-sdk.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ci/android-install-sdk.sh b/ci/android-install-sdk.sh index a3c1d7737..42926b525 100644 --- a/ci/android-install-sdk.sh +++ b/ci/android-install-sdk.sh @@ -60,10 +60,10 @@ yes | "$ANDROID_SDK_BIN/sdkmanager" --licenses --no_https yes | "$ANDROID_SDK_BIN/sdkmanager" --no_https \ "emulator" \ "platform-tools" \ - "platforms;android-24" \ - "system-images;android-24;default;$abi" + "platforms;android-33" \ + "system-images;android-33;default;$abi" echo "no" | "$ANDROID_SDK_BIN/avdmanager" create avd \ --name "${1}" \ - --package "system-images;android-24;default;$abi" + --package "system-images;android-33;default;$abi" From c46545815eadd40378ef6d6d31d6eb42077a27a5 Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Wed, 26 Jul 2023 22:52:43 -0700 Subject: [PATCH 10/20] Revert "Try emulating recent Android" This reverts commit eaf7dbcb6717a2e2133a3c5d34787cd6468eadd2. It turns out this is where armv7 support ends! --- ci/android-install-sdk.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ci/android-install-sdk.sh b/ci/android-install-sdk.sh index 42926b525..a3c1d7737 100644 --- a/ci/android-install-sdk.sh +++ b/ci/android-install-sdk.sh @@ -60,10 +60,10 @@ yes | "$ANDROID_SDK_BIN/sdkmanager" --licenses --no_https yes | "$ANDROID_SDK_BIN/sdkmanager" --no_https \ "emulator" \ "platform-tools" \ - "platforms;android-33" \ - "system-images;android-33;default;$abi" + "platforms;android-24" \ + "system-images;android-24;default;$abi" echo "no" | "$ANDROID_SDK_BIN/avdmanager" create avd \ --name "${1}" \ - --package "system-images;android-33;default;$abi" + --package "system-images;android-24;default;$abi" From e1ea1403db98260976ad7b1785d697c5ee7f4be6 Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Wed, 26 Jul 2023 22:56:02 -0700 Subject: [PATCH 11/20] Use ABI-dependent versions --- ci/android-install-sdk.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/ci/android-install-sdk.sh b/ci/android-install-sdk.sh index a3c1d7737..4e16f1b7e 100644 --- a/ci/android-install-sdk.sh +++ b/ci/android-install-sdk.sh @@ -27,11 +27,13 @@ unzip -d sdk "$ANDROID_SDK_ARCHIVE" case "$1" in arm | armv7) - abi=armeabi-v7a + version="android-24" + abi="armeabi-v7a" ;; aarch64) - abi=arm64-v8a + version="android-31" + abi="arm64-v8a" ;; i686) @@ -60,10 +62,10 @@ yes | "$ANDROID_SDK_BIN/sdkmanager" --licenses --no_https yes | "$ANDROID_SDK_BIN/sdkmanager" --no_https \ "emulator" \ "platform-tools" \ - "platforms;android-24" \ - "system-images;android-24;default;$abi" + "platforms;$version" \ + "system-images;$version;default;$abi" echo "no" | "$ANDROID_SDK_BIN/avdmanager" create avd \ --name "${1}" \ - --package "system-images;android-24;default;$abi" + --package "system-images;$version;default;$abi" From 8c6a61022daf0cd88d137995db161f0c5a083a83 Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Wed, 26 Jul 2023 23:02:11 -0700 Subject: [PATCH 12/20] Drink deeply of the future --- ci/docker/aarch64-linux-android/Dockerfile | 4 ++-- ci/docker/armv7-linux-androideabi/Dockerfile | 4 ++-- ci/docker/thumbv7neon-linux-androideabi/Dockerfile | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ci/docker/aarch64-linux-android/Dockerfile b/ci/docker/aarch64-linux-android/Dockerfile index c7f73eafc..8d7f9b8b7 100644 --- a/ci/docker/aarch64-linux-android/Dockerfile +++ b/ci/docker/aarch64-linux-android/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:20.04 +FROM ubuntu:22.04 RUN dpkg --add-architecture i386 && \ apt-get update && \ @@ -7,7 +7,7 @@ RUN dpkg --add-architecture i386 && \ make \ curl \ ca-certificates \ - python \ + python-is-python3 \ unzip \ expect \ openjdk-11-jre \ diff --git a/ci/docker/armv7-linux-androideabi/Dockerfile b/ci/docker/armv7-linux-androideabi/Dockerfile index ba3616ea2..9ac09c55b 100644 --- a/ci/docker/armv7-linux-androideabi/Dockerfile +++ b/ci/docker/armv7-linux-androideabi/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:20.04 +FROM ubuntu:22.04 RUN dpkg --add-architecture i386 && \ apt-get update && \ @@ -7,7 +7,7 @@ RUN dpkg --add-architecture i386 && \ make \ curl \ ca-certificates \ - python \ + python-is-python3 \ unzip \ expect \ openjdk-11-jre \ diff --git a/ci/docker/thumbv7neon-linux-androideabi/Dockerfile b/ci/docker/thumbv7neon-linux-androideabi/Dockerfile index 59b770f6b..b13b0ce6b 100644 --- a/ci/docker/thumbv7neon-linux-androideabi/Dockerfile +++ b/ci/docker/thumbv7neon-linux-androideabi/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:20.04 +FROM ubuntu:22.04 RUN dpkg --add-architecture i386 && \ apt-get update && \ @@ -7,7 +7,7 @@ RUN dpkg --add-architecture i386 && \ make \ curl \ ca-certificates \ - python \ + python-is-python3 \ unzip \ expect \ openjdk-11-jre \ From d5a2e1d310bd03e58b3f57b0118a8a3f45c010c3 Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Wed, 26 Jul 2023 23:25:39 -0700 Subject: [PATCH 13/20] No debug tests for aarch64 --- ci/run.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci/run.sh b/ci/run.sh index b1b22ebd7..64acab5ed 100755 --- a/ci/run.sh +++ b/ci/run.sh @@ -71,8 +71,8 @@ cargo_test_impl() { } # Debug run: -if [[ "${TARGET}" != "wasm32-unknown-unknown" ]]; then - # Run wasm32-unknown-unknown in release mode only +if [[ "${TARGET}" != "wasm32-unknown-unknown" ]] && [[ ! "${TARGET}" ~= "aarch64" ]] then + # Run wasm32-unknown-unknown and aarch64 in release mode only cargo_test_impl fi From 2b564263cdf99eb320ab87d7e09a0f8c3e1d2362 Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Wed, 26 Jul 2023 23:30:41 -0700 Subject: [PATCH 14/20] Revert "Optimize aarch64 tests" This reverts commit ebd01ff73efef3a17c970b19e098295391920abd. --- Cargo.toml | 3 --- 1 file changed, 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 0ef19c277..f5e5f79d1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,6 +39,3 @@ optional = true # Keep in sync with the version on Dockerfile. wasm-bindgen = "=0.2.87" wasm-bindgen-test = "=0.3.37" - -[target.'cfg(target_arch = "aarch64")'.profile.dev] -opt-level = 3 # slow emulators From 2369c2bcf37e656305738c35767862fe4f95a8fd Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Wed, 26 Jul 2023 23:36:29 -0700 Subject: [PATCH 15/20] Get the regex test expr right --- ci/run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/run.sh b/ci/run.sh index 64acab5ed..cb1b501c2 100755 --- a/ci/run.sh +++ b/ci/run.sh @@ -71,7 +71,7 @@ cargo_test_impl() { } # Debug run: -if [[ "${TARGET}" != "wasm32-unknown-unknown" ]] && [[ ! "${TARGET}" ~= "aarch64" ]] then +if [[ "${TARGET}" != "wasm32-unknown-unknown" ]] && [[ ! "${TARGET}" =~ "aarch64" ]] then # Run wasm32-unknown-unknown and aarch64 in release mode only cargo_test_impl fi From 651cfc5f148631e427993d7fc7f82aa00c98f787 Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Wed, 26 Jul 2023 23:38:19 -0700 Subject: [PATCH 16/20] bash bashisms --- ci/run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/run.sh b/ci/run.sh index cb1b501c2..0825f3b1b 100755 --- a/ci/run.sh +++ b/ci/run.sh @@ -71,7 +71,7 @@ cargo_test_impl() { } # Debug run: -if [[ "${TARGET}" != "wasm32-unknown-unknown" ]] && [[ ! "${TARGET}" =~ "aarch64" ]] then +if [[ "${TARGET}" != "wasm32-unknown-unknown" ]] && [[ ! "${TARGET}" =~ "aarch64" ]]; then # Run wasm32-unknown-unknown and aarch64 in release mode only cargo_test_impl fi From d78a80b940e948701b8c478294832a42162d8a55 Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Wed, 26 Jul 2023 23:44:41 -0700 Subject: [PATCH 17/20] skip armv7 android emulation --- ci/run.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ci/run.sh b/ci/run.sh index 0825f3b1b..e1a2fdc3d 100755 --- a/ci/run.sh +++ b/ci/run.sh @@ -71,8 +71,12 @@ cargo_test_impl() { } # Debug run: -if [[ "${TARGET}" != "wasm32-unknown-unknown" ]] && [[ ! "${TARGET}" =~ "aarch64" ]]; then - # Run wasm32-unknown-unknown and aarch64 in release mode only +if [[ "${TARGET}" != "wasm32-unknown-unknown" ]] && + [[ ! "${TARGET}" =~ "aarch64" ]] && + [[ "${TARGET}" != "armv7-linux-androideabi" ]] && + [[ "${TARGET}" != "thumbv7neon-linux-androideabi" ]]; then + # Run wasm32-unknown-unknown, aarch64, and android in release mode only + # as for some reason the emulation quality of these is low cargo_test_impl fi From a08b1e63faa674f7bb0d67a6a63b834965dcdb5c Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Thu, 27 Jul 2023 00:16:11 -0700 Subject: [PATCH 18/20] Clean up conditionals in CI --- ci/run.sh | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/ci/run.sh b/ci/run.sh index e1a2fdc3d..ea67dcd63 100755 --- a/ci/run.sh +++ b/ci/run.sh @@ -70,11 +70,16 @@ cargo_test_impl() { RUSTFLAGS=${ORIGINAL_RUSTFLAGS} } -# Debug run: -if [[ "${TARGET}" != "wasm32-unknown-unknown" ]] && - [[ ! "${TARGET}" =~ "aarch64" ]] && - [[ "${TARGET}" != "armv7-linux-androideabi" ]] && - [[ "${TARGET}" != "thumbv7neon-linux-androideabi" ]]; then +release_only=false +if [[ "${TARGET}" =~ wasm32 ]]; then + release_only=true +elif [[ "${TARGET}" =~ aarch64 ]]; then + release_only=true +elif [[ "${TARGET}" =~ androideabi ]]; then + release_only=true +fi + +if [[ "$release_only" == false ]]; then # Run wasm32-unknown-unknown, aarch64, and android in release mode only # as for some reason the emulation quality of these is low cargo_test_impl From a07055157208e4aaea40699e79b586f51672814a Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Thu, 27 Jul 2023 00:52:02 -0700 Subject: [PATCH 19/20] Afford a luxurious 60min to CI --- .github/workflows/run-ci-script.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-ci-script.yml b/.github/workflows/run-ci-script.yml index 4db804814..f9a8d726a 100644 --- a/.github/workflows/run-ci-script.yml +++ b/.github/workflows/run-ci-script.yml @@ -77,7 +77,7 @@ jobs: VERIFY: ${{ inputs.verify }} FEATURES: ${{ inputs.features }} - name: Run CI Script - timeout-minutes: 30 + timeout-minutes: 60 run: ${{ inputs.script }} env: TARGET: ${{ inputs.target }} From 31af73a35c59e01c110decf4df1f5bfad8651419 Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Thu, 27 Jul 2023 01:46:08 -0700 Subject: [PATCH 20/20] A few opts never hurt a test runner right? --- ci/docker/aarch64-linux-android/Dockerfile | 2 +- ci/docker/armv7-linux-androideabi/Dockerfile | 2 +- ci/docker/thumbv7neon-linux-androideabi/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ci/docker/aarch64-linux-android/Dockerfile b/ci/docker/aarch64-linux-android/Dockerfile index 8d7f9b8b7..16a14f920 100644 --- a/ci/docker/aarch64-linux-android/Dockerfile +++ b/ci/docker/aarch64-linux-android/Dockerfile @@ -43,7 +43,7 @@ ENTRYPOINT [ \ # set SHELL so android can detect a 64bits system, see # http://stackoverflow.com/a/41789144 "SHELL=/bin/dash /android/sdk/emulator/emulator @aarch64 -no-window & \ - rustc /tmp/runtest.rs -o /tmp/runtest && \ + rustc /tmp/runtest.rs -O -o /tmp/runtest && \ exec \"$@\"", \ "--" \ ] diff --git a/ci/docker/armv7-linux-androideabi/Dockerfile b/ci/docker/armv7-linux-androideabi/Dockerfile index 9ac09c55b..b274769ae 100644 --- a/ci/docker/armv7-linux-androideabi/Dockerfile +++ b/ci/docker/armv7-linux-androideabi/Dockerfile @@ -43,7 +43,7 @@ ENTRYPOINT [ \ # set SHELL so android can detect a 64bits system, see # http://stackoverflow.com/a/41789144 "SHELL=/bin/dash /android/sdk/emulator/emulator @arm -no-window & \ - rustc /tmp/runtest.rs -o /tmp/runtest && \ + rustc /tmp/runtest.rs -O -o /tmp/runtest && \ exec \"$@\"", \ "--" \ ] diff --git a/ci/docker/thumbv7neon-linux-androideabi/Dockerfile b/ci/docker/thumbv7neon-linux-androideabi/Dockerfile index b13b0ce6b..05a77c2e1 100644 --- a/ci/docker/thumbv7neon-linux-androideabi/Dockerfile +++ b/ci/docker/thumbv7neon-linux-androideabi/Dockerfile @@ -44,7 +44,7 @@ ENTRYPOINT [ \ # set SHELL so android can detect a 64bits system, see # http://stackoverflow.com/a/41789144 "SHELL=/bin/dash /android/sdk/emulator/emulator @arm -no-window & \ - rustc /tmp/runtest.rs -o /tmp/runtest && \ + rustc /tmp/runtest.rs -O -o /tmp/runtest && \ exec \"$@\"", \ "--" \ ]