diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3749ed1f6a..6756fa8b3b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -175,6 +175,10 @@ jobs: tuple: s390x-unknown-linux-gnu os: ubuntu-latest test_everything: true + - target: + tuple: i686-unknown-linux-gnu + os: ubuntu-latest + test_everything: true - target: tuple: x86_64-unknown-linux-gnu os: ubuntu-latest diff --git a/ci/docker/x86_64-unknown-linux-gnu/cpuid.def b/ci/cpuid.def similarity index 100% rename from ci/docker/x86_64-unknown-linux-gnu/cpuid.def rename to ci/cpuid.def diff --git a/ci/docker/i686-unknown-linux-gnu/Dockerfile b/ci/docker/i686-unknown-linux-gnu/Dockerfile index 49d5cecc71..3c45ff0156 100644 --- a/ci/docker/i686-unknown-linux-gnu/Dockerfile +++ b/ci/docker/i686-unknown-linux-gnu/Dockerfile @@ -4,4 +4,16 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ libc6-dev \ file \ make \ - ca-certificates + ca-certificates \ + wget \ + xz-utils + +RUN wget http://ci-mirrors.rust-lang.org/stdarch/sde-external-10.5.0-2026-01-13-lin.tar.xz -O sde.tar.xz +RUN mkdir intel-sde +RUN tar -xJf sde.tar.xz --strip-components=1 -C intel-sde +ENV CARGO_TARGET_I686_UNKNOWN_LINUX_GNU_RUNNER="/intel-sde/sde \ + -cpuid-in /checkout/ci/cpuid.def \ + -pin-log-file /checkout/target/pin-log.txt --" +# SDE doesn't support AMD extensions +# FIXME: find a way to test these +ENV STDARCH_TEST_SKIP_FEATURE="sse4a,tbm,xop" diff --git a/ci/docker/x86_64-unknown-linux-gnu/Dockerfile b/ci/docker/x86_64-unknown-linux-gnu/Dockerfile index a357449d51..4c3faae8dc 100644 --- a/ci/docker/x86_64-unknown-linux-gnu/Dockerfile +++ b/ci/docker/x86_64-unknown-linux-gnu/Dockerfile @@ -16,7 +16,7 @@ RUN wget http://ci-mirrors.rust-lang.org/stdarch/sde-external-10.5.0-2026-01-13- RUN mkdir intel-sde RUN tar -xJf sde.tar.xz --strip-components=1 -C intel-sde ENV CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUNNER="/intel-sde/sde64 \ - -cpuid-in /checkout/ci/docker/x86_64-unknown-linux-gnu/cpuid.def \ + -cpuid-in /checkout/ci/cpuid.def \ -rtm-mode full -tsx --" # SDE doesn't support AMD extensions # FIXME: find a way to test these diff --git a/ci/run-docker.sh b/ci/run-docker.sh index 28dfd5a24a..6cc7e0b71f 100755 --- a/ci/run-docker.sh +++ b/ci/run-docker.sh @@ -19,6 +19,8 @@ run() { # Prevent `Read-only file system (os error 30)`. cargo generate-lockfile + echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope + echo "Building docker container for TARGET=${1}" docker build -t stdarch -f "ci/docker/${1}/Dockerfile" ci/ mkdir -p target c_programs rust_programs diff --git a/ci/run.sh b/ci/run.sh index ea012b42f9..8d8c4a012d 100755 --- a/ci/run.sh +++ b/ci/run.sh @@ -92,7 +92,7 @@ cargo_test() { CORE_ARCH="--manifest-path=crates/core_arch/Cargo.toml" STDARCH_EXAMPLES="--manifest-path=examples/Cargo.toml" -cargo_test "${CORE_ARCH}" +cargo_test "${CORE_ARCH}" || cat /checkout/target/pin-log.txt if [ "$NOSTD" != "1" ]; then cargo_test "${STDARCH_EXAMPLES}"