Skip to content

Commit

Permalink
Partially fix CI targets (rust-lang/packed-simd#355)
Browse files Browse the repository at this point in the history
This fixes most CI targets that don't require special SDKs.
A couple were named inaccurately, and that is also fixed,
but it doesn't actually restore them to working order.

Targets fixed by this merge:
- [ ] "aarch-apple-ios" (aarch64-apple-ios)
- [ ] aarch64-linux-android
- [ ] aarch64-unknown-linux-gnu
- [ ] "arm-linux-androideabi" (armv7-linux-androideabi)
- [ ] i586-unknown-linux-gnu-SSE
- [x] powerpc-unknown-linux-gnu
- [x] powerpc64-unknown-linux-gnu
- [x] powerpc64le-unknown-linux-gnu
- [x] sparc64-unknown-linux-gnu
- [x] s390x-unknown-linux-gnu
- [ ] thumbv7neon-linux-android
- [x] wasm32-unknown-unknown
- [ ] x86_64-apple-ios
- [x] x86_64-unknown-linux-android
  • Loading branch information
workingjubilee committed Jul 27, 2023
2 parents ffce298 + 8a4d939 commit 68c7163
Show file tree
Hide file tree
Showing 13 changed files with 38 additions and 54 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ jobs:
fail-fast: true
with:
target: x86_64-linux-android
arm-linux-androideabi:
armv7-linux-androideabi:
uses: ./.github/workflows/run-ci-script.yml
strategy:
fail-fast: true
with:
target: arm-linux-androideabi
target: armv7-linux-androideabi
aarch64-unknown-linux-android-NEON:
uses: ./.github/workflows/run-ci-script.yml
strategy:
Expand Down Expand Up @@ -207,12 +207,12 @@ jobs:
runner: macos-latest
script: ci/run.sh
target: x86_64-apple-ios
aarch-apple-ios:
aarch64-apple-ios:
uses: ./.github/workflows/run-ci-script.yml
strategy:
fail-fast: true
with:
runner: macos-latest
script: ci/run.sh
target: aarch-apple-ios
target: aarch64-apple-ios
rustflags: -Ctarget-feature=+neon
2 changes: 1 addition & 1 deletion .github/workflows/run-ci-script.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ jobs:
VERIFY: ${{ inputs.verify }}
FEATURES: ${{ inputs.features }}
- name: Run CI Script
timeout-minutes: 15
timeout-minutes: 30
run: ${{ inputs.script }}
env:
TARGET: ${{ inputs.target }}
Expand Down
4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -39,5 +39,5 @@ optional = true

[target.wasm32-unknown-unknown.dev-dependencies]
# Keep in sync with the version on Dockerfile.
wasm-bindgen = "=0.2.73"
wasm-bindgen-test = "=0.3.23"
wasm-bindgen = "=0.2.87"
wasm-bindgen-test = "=0.3.37"
30 changes: 7 additions & 23 deletions ci/android-install-ndk.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,27 +11,11 @@

set -ex

curl --retry 5 -O https://dl.google.com/android/repository/android-ndk-r15b-linux-x86_64.zip
unzip -q android-ndk-r15b-linux-x86_64.zip
ANDROID_NDK_URL=https://dl.google.com/android/repository
ANDROID_NDK_ARCHIVE=android-ndk-r25b-linux.zip

case "$1" in
aarch64)
arch=arm64
;;

i686)
arch=x86
;;

*)
arch=$1
;;
esac;

android-ndk-r15b/build/tools/make_standalone_toolchain.py \
--unified-headers \
--install-dir "/android/ndk-${1}" \
--arch "${arch}" \
--api 24

rm -rf ./android-ndk-r15b-linux-x86_64.zip ./android-ndk-r15b
curl -fO "$ANDROID_NDK_URL/$ANDROID_NDK_ARCHIVE"
unzip -q $ANDROID_NDK_ARCHIVE
rm $ANDROID_NDK_ARCHIVE
mv android-ndk-* ndk
rm -rf android-ndk-*
File renamed without changes.
2 changes: 1 addition & 1 deletion ci/docker/powerpc-unknown-linux-gnu/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:18.04
FROM ubuntu:22.04

RUN apt-get update && apt-get install -y --no-install-recommends \
gcc libc6-dev qemu-user ca-certificates \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/powerpc64-unknown-linux-gnu/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:18.04
FROM ubuntu:22.04

RUN apt-get update && apt-get install -y --no-install-recommends \
gcc \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/powerpc64le-unknown-linux-gnu/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:18.04
FROM ubuntu:22.04

RUN apt-get update && apt-get install -y --no-install-recommends \
gcc libc6-dev qemu-user ca-certificates \
Expand Down
4 changes: 2 additions & 2 deletions ci/docker/s390x-unknown-linux-gnu/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:18.10
FROM ubuntu:22.04

RUN apt-get update && \
apt-get install -y --no-install-recommends \
Expand All @@ -17,4 +17,4 @@ ENV CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_LINKER=s390x-linux-gnu-gcc \
CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_RUNNER="qemu-s390x -L /usr/s390x-linux-gnu" \
CC_s390x_unknown_linux_gnu=s390x-linux-gnu-gcc \
CXX_s390x_unknown_linux_gnu=s390x-linux-gnu-g++ \
OBJDUMP=s390x-linux-gnu-objdump
OBJDUMP=s390x-linux-gnu-objdump
4 changes: 2 additions & 2 deletions ci/docker/sparc64-unknown-linux-gnu/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM debian:stretch
FROM debian:bookworm

RUN apt-get update && apt-get install -y --no-install-recommends \
curl ca-certificates \
Expand All @@ -15,4 +15,4 @@ COPY test-runner-linux /
ENV CARGO_TARGET_SPARC64_UNKNOWN_LINUX_GNU_LINKER=sparc64-linux-gnu-gcc \
CARGO_TARGET_SPARC64_UNKNOWN_LINUX_GNU_RUNNER="/test-runner-linux sparc64" \
CC_sparc64_unknown_linux_gnu=sparc64-linux-gnu-gcc \
PATH=$PATH:/rust/bin
PATH=$PATH:/rust/bin
9 changes: 5 additions & 4 deletions ci/docker/wasm32-unknown-unknown/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:18.04
FROM ubuntu:22.04

RUN apt-get update -y && apt-get install -y --no-install-recommends \
ca-certificates \
Expand All @@ -8,7 +8,8 @@ RUN apt-get update -y && apt-get install -y --no-install-recommends \
git \
libc6-dev \
make \
python \
ninja-build \
python-is-python3 \
xz-utils

# Install `wasm2wat`
Expand All @@ -17,10 +18,10 @@ RUN make -C wabt -j$(nproc)
ENV PATH=$PATH:/wabt/bin

# Install `wasm-bindgen-test-runner`
RUN curl -L https://github.com/rustwasm/wasm-bindgen/releases/download/0.2.73/wasm-bindgen-0.2.73-x86_64-unknown-linux-musl.tar.gz \
RUN curl -L https://github.com/rustwasm/wasm-bindgen/releases/download/0.2.87/wasm-bindgen-0.2.87-x86_64-unknown-linux-musl.tar.gz \
| tar xzf -
# Keep in sync with the version on Cargo.toml.
ENV PATH=$PATH:/wasm-bindgen-0.2.73-x86_64-unknown-linux-musl
ENV PATH=$PATH:/wasm-bindgen-0.2.87-x86_64-unknown-linux-musl
ENV CARGO_TARGET_WASM32_UNKNOWN_UNKNOWN_RUNNER=wasm-bindgen-test-runner

# Install `node`
Expand Down
16 changes: 9 additions & 7 deletions ci/docker/x86_64-linux-android/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:16.04
FROM ubuntu:20.04

RUN apt-get update && \
apt-get install -y --no-install-recommends \
Expand All @@ -14,16 +14,18 @@ RUN apt-get update && \
WORKDIR /android/
ENV ANDROID_ARCH=x86_64
COPY android-install-ndk.sh /android/
RUN sh /android/android-install-ndk.sh $ANDROID_ARCH
RUN sh /android/android-install-ndk.sh

ENV STDARCH_ASSERT_INSTR_LIMIT=30

# We do not run x86_64-linux-android tests on an android emulator.
# See ci/android-sysimage.sh for informations about how tests are run.
COPY android-sysimage.sh /android/
RUN bash /android/android-sysimage.sh x86_64 x86_64-24_r07.zip

ENV PATH=$PATH:/rust/bin:/android/ndk-$ANDROID_ARCH/bin \
CARGO_TARGET_X86_64_LINUX_ANDROID_LINKER=x86_64-linux-android-gcc \
CC_x86_64_linux_android=x86_64-linux-android-gcc \
CXX_x86_64_linux_android=x86_64-linux-android-g++ \
OBJDUMP=x86_64-linux-android-objdump \
ENV PATH=$PATH:/rust/bin:/android/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin \
CARGO_TARGET_X86_64_LINUX_ANDROID_LINKER=x86_64-linux-android21-clang \
CC_x86_64_linux_android=x86_64-linux-android21-clang \
CXX_x86_64_linux_android=x86_64-linux-android21-clang++ \
OBJDUMP=llvm-objdump \
HOME=/tmp
9 changes: 3 additions & 6 deletions src/api/bitmask.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,10 @@ macro_rules! impl_bitmask {
test_if! {
$test_tt:
paste::item! {
#[cfg(not(any(
#[cfg(not(
// FIXME: https://github.com/rust-lang-nursery/packed_simd/issues/210
all(target_arch = "mips", target_endian = "big"),
all(target_arch = "mips64", target_endian = "big"),
target_arch = "sparc64",
target_arch = "s390x",
)))]
target_endian = "big"
))]
pub mod [<$id _bitmask>] {
use super::*;
#[cfg_attr(not(target_arch = "wasm32"), test)]
Expand Down

0 comments on commit 68c7163

Please sign in to comment.