ci: Make CI configuration more similar to libm
Apply a handful of changes to reduce the diff between the two: * Cancel running jobs on new pushes * Enable log color and backtraces * Add timeouts * Specify CI runner versions * Add an armv7 job * Replace the name NO_STD with BUILD_ONLY * Update the extension to the canonical .yaml * Set AR_ and CC_ environments in docker * Install requirements to build MPFR
This commit is contained in:
parent
92b1e8454d
commit
01c5888246
24 changed files with 161 additions and 119 deletions
|
|
@ -1,105 +1,85 @@
|
|||
name: CI
|
||||
on: [push, pull_request]
|
||||
on:
|
||||
push: { branches: [master] }
|
||||
pull_request:
|
||||
|
||||
concurrency:
|
||||
# Make sure that new pushes cancel running jobs
|
||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
env:
|
||||
CARGO_TERM_COLOR: always
|
||||
RUSTDOCFLAGS: -Dwarnings
|
||||
RUSTFLAGS: -Dwarnings
|
||||
RUST_BACKTRACE: full
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: Test
|
||||
runs-on: ${{ matrix.os }}
|
||||
name: Build and test
|
||||
timeout-minutes: 60
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- target: aarch64-apple-darwin
|
||||
os: macos-latest
|
||||
rust: nightly
|
||||
os: macos-15
|
||||
- target: aarch64-unknown-linux-gnu
|
||||
os: ubuntu-latest
|
||||
rust: nightly
|
||||
os: ubuntu-24.04-arm
|
||||
- target: aarch64-pc-windows-msvc
|
||||
os: windows-latest
|
||||
rust: nightly
|
||||
os: windows-2025
|
||||
test_verbatim: 1
|
||||
no_std: 1
|
||||
build_only: 1
|
||||
- target: arm-unknown-linux-gnueabi
|
||||
os: ubuntu-latest
|
||||
rust: nightly
|
||||
os: ubuntu-24.04
|
||||
- target: arm-unknown-linux-gnueabihf
|
||||
os: ubuntu-latest
|
||||
rust: nightly
|
||||
os: ubuntu-24.04
|
||||
- target: armv7-unknown-linux-gnueabihf
|
||||
os: ubuntu-24.04
|
||||
- target: i586-unknown-linux-gnu
|
||||
os: ubuntu-latest
|
||||
rust: nightly
|
||||
os: ubuntu-24.04
|
||||
- target: i686-unknown-linux-gnu
|
||||
os: ubuntu-latest
|
||||
rust: nightly
|
||||
os: ubuntu-24.04
|
||||
- target: loongarch64-unknown-linux-gnu
|
||||
os: ubuntu-latest
|
||||
rust: nightly
|
||||
# MIPS targets disabled since they are dropped to tier 3.
|
||||
# See https://github.com/rust-lang/compiler-team/issues/648
|
||||
#- target: mips-unknown-linux-gnu
|
||||
# os: ubuntu-latest
|
||||
# rust: nightly
|
||||
#- target: mips64-unknown-linux-gnuabi64
|
||||
# os: ubuntu-latest
|
||||
# rust: nightly
|
||||
#- target: mips64el-unknown-linux-gnuabi64
|
||||
# os: ubuntu-latest
|
||||
# rust: nightly
|
||||
#- target: mipsel-unknown-linux-gnu
|
||||
# os: ubuntu-latest
|
||||
# rust: nightly
|
||||
os: ubuntu-24.04
|
||||
- target: powerpc-unknown-linux-gnu
|
||||
os: ubuntu-latest
|
||||
rust: nightly
|
||||
os: ubuntu-24.04
|
||||
- target: powerpc64-unknown-linux-gnu
|
||||
os: ubuntu-latest
|
||||
rust: nightly
|
||||
os: ubuntu-24.04
|
||||
- target: powerpc64le-unknown-linux-gnu
|
||||
os: ubuntu-latest
|
||||
rust: nightly
|
||||
os: ubuntu-24.04
|
||||
- target: riscv64gc-unknown-linux-gnu
|
||||
os: ubuntu-latest
|
||||
rust: nightly
|
||||
os: ubuntu-24.04
|
||||
- target: thumbv6m-none-eabi
|
||||
os: ubuntu-latest
|
||||
rust: nightly
|
||||
os: ubuntu-24.04
|
||||
- target: thumbv7em-none-eabi
|
||||
os: ubuntu-latest
|
||||
rust: nightly
|
||||
os: ubuntu-24.04
|
||||
- target: thumbv7em-none-eabihf
|
||||
os: ubuntu-latest
|
||||
rust: nightly
|
||||
os: ubuntu-24.04
|
||||
- target: thumbv7m-none-eabi
|
||||
os: ubuntu-latest
|
||||
rust: nightly
|
||||
os: ubuntu-24.04
|
||||
- target: wasm32-unknown-unknown
|
||||
os: ubuntu-latest
|
||||
rust: nightly
|
||||
os: ubuntu-24.04
|
||||
- target: x86_64-unknown-linux-gnu
|
||||
os: ubuntu-latest
|
||||
rust: nightly
|
||||
os: ubuntu-24.04
|
||||
- target: x86_64-apple-darwin
|
||||
os: macos-13
|
||||
rust: nightly
|
||||
- target: i686-pc-windows-msvc
|
||||
os: windows-latest
|
||||
rust: nightly
|
||||
os: windows-2025
|
||||
test_verbatim: 1
|
||||
- target: x86_64-pc-windows-msvc
|
||||
os: windows-latest
|
||||
rust: nightly
|
||||
os: windows-2025
|
||||
test_verbatim: 1
|
||||
- target: i686-pc-windows-gnu
|
||||
os: windows-latest
|
||||
rust: nightly-i686-gnu
|
||||
os: windows-2025
|
||||
channel: nightly-i686-gnu
|
||||
- target: x86_64-pc-windows-gnu
|
||||
os: windows-latest
|
||||
rust: nightly-x86_64-gnu
|
||||
os: windows-2025
|
||||
channel: nightly-x86_64-gnu
|
||||
runs-on: ${{ matrix.os }}
|
||||
env:
|
||||
BUILD_ONLY: ${{ matrix.build_only }}
|
||||
TEST_VERBATIM: ${{ matrix.test_verbatim }}
|
||||
steps:
|
||||
- name: Print runner information
|
||||
run: uname -a
|
||||
|
|
@ -107,16 +87,21 @@ jobs:
|
|||
with:
|
||||
submodules: true
|
||||
- name: Install Rust (rustup)
|
||||
run: rustup update ${{ matrix.rust }} --no-self-update && rustup default ${{ matrix.rust }}
|
||||
shell: bash
|
||||
- run: rustup target add ${{ matrix.target }}
|
||||
- run: rustup component add llvm-tools-preview
|
||||
run: |
|
||||
channel="nightly"
|
||||
# Account for channels that have required components (MinGW)
|
||||
[ -n "${{ matrix.channel }}" ] && channel="${{ matrix.channel }}"
|
||||
rustup update "$channel" --no-self-update
|
||||
rustup default "$channel"
|
||||
rustup target add "${{ matrix.target }}"
|
||||
rustup component add llvm-tools-preview
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
with:
|
||||
key: ${{ matrix.target }}
|
||||
- name: Cache Docker layers
|
||||
uses: actions/cache@v4
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
if: matrix.os == 'ubuntu-24.04'
|
||||
with:
|
||||
path: /tmp/.buildx-cache
|
||||
key: ${{ matrix.target }}-buildx-${{ github.sha }}
|
||||
|
|
@ -136,33 +121,49 @@ jobs:
|
|||
shell: bash
|
||||
|
||||
# Non-linux tests just use our raw script
|
||||
- run: ./ci/run.sh ${{ matrix.target }}
|
||||
if: matrix.os != 'ubuntu-latest'
|
||||
- name: Run locally
|
||||
if: matrix.os != 'ubuntu-24.04'
|
||||
shell: bash
|
||||
env:
|
||||
NO_STD: ${{ matrix.no_std }}
|
||||
TEST_VERBATIM: ${{ matrix.test_verbatim }}
|
||||
run: ./ci/run.sh ${{ matrix.target }}
|
||||
|
||||
# Configure buildx to use Docker layer caching
|
||||
- uses: docker/setup-buildx-action@v3
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
if: matrix.os == 'ubuntu-24.04'
|
||||
|
||||
# Otherwise we use our docker containers to run builds
|
||||
- run: cargo generate-lockfile && ./ci/run-docker.sh ${{ matrix.target }}
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
- name: Run in Docker
|
||||
if: matrix.os == 'ubuntu-24.04'
|
||||
run: cargo generate-lockfile && ./ci/run-docker.sh ${{ matrix.target }}
|
||||
|
||||
# Workaround to keep Docker cache smaller
|
||||
# https://github.com/docker/build-push-action/issues/252
|
||||
# https://github.com/moby/buildkit/issues/1896
|
||||
- name: Move Docker cache
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
if: matrix.os == 'ubuntu-24.04'
|
||||
run: |
|
||||
rm -rf /tmp/.buildx-cache
|
||||
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
|
||||
|
||||
clippy:
|
||||
name: Clippy
|
||||
runs-on: ubuntu-24.04
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
# Unlike rustfmt, stable clippy does not work on code with nightly features.
|
||||
- name: Install nightly `clippy`
|
||||
run: |
|
||||
rustup set profile minimal
|
||||
rustup default nightly
|
||||
rustup component add clippy
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
- run: cargo clippy -- -D clippy::all
|
||||
|
||||
miri:
|
||||
name: Miri
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
|
|
@ -177,7 +178,7 @@ jobs:
|
|||
|
||||
rustfmt:
|
||||
name: Rustfmt
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
|
|
@ -186,27 +187,13 @@ jobs:
|
|||
run: rustup set profile minimal && rustup default stable && rustup component add rustfmt
|
||||
- run: cargo fmt -- --check
|
||||
|
||||
clippy:
|
||||
name: Clippy
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
# Unlike rustfmt, stable clippy does not work on code with nightly features.
|
||||
- name: Install nightly `clippy`
|
||||
run: |
|
||||
rustup set profile minimal && rustup default nightly && rustup component add clippy
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
- run: cargo clippy -- -D clippy::all
|
||||
|
||||
success:
|
||||
needs:
|
||||
- test
|
||||
- rustfmt
|
||||
- clippy
|
||||
- miri
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
# GitHub branch protection is exceedingly silly and treats "jobs skipped because a dependency
|
||||
# failed" as success. So we have to do some contortions to ensure the job fails if any of its
|
||||
# dependencies fails.
|
||||
|
|
@ -1,11 +1,16 @@
|
|||
ARG IMAGE=ubuntu:24.04
|
||||
FROM $IMAGE
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
gcc libc6-dev ca-certificates \
|
||||
gcc-aarch64-linux-gnu libc6-dev-arm64-cross \
|
||||
gcc-aarch64-linux-gnu m4 make libc6-dev-arm64-cross \
|
||||
qemu-user-static
|
||||
ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc \
|
||||
|
||||
ENV TOOLCHAIN_PREFIX=aarch64-linux-gnu-
|
||||
ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER="$TOOLCHAIN_PREFIX"gcc \
|
||||
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER=qemu-aarch64-static \
|
||||
AR_aarch64_unknown_linux_gnu="$TOOLCHAIN_PREFIX"ar \
|
||||
CC_aarch64_unknown_linux_gnu="$TOOLCHAIN_PREFIX"gcc \
|
||||
QEMU_LD_PREFIX=/usr/aarch64-linux-gnu \
|
||||
RUST_TEST_THREADS=1
|
||||
|
|
|
|||
|
|
@ -1,10 +1,15 @@
|
|||
ARG IMAGE=ubuntu:24.04
|
||||
FROM $IMAGE
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
gcc libc6-dev ca-certificates \
|
||||
gcc-arm-linux-gnueabi libc6-dev-armel-cross qemu-user-static
|
||||
ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_LINKER=arm-linux-gnueabi-gcc \
|
||||
|
||||
ENV TOOLCHAIN_PREFIX=arm-linux-gnueabi-
|
||||
ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_LINKER="$TOOLCHAIN_PREFIX"gcc \
|
||||
CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_RUNNER=qemu-arm-static \
|
||||
AR_arm_unknown_linux_gnueabi="$TOOLCHAIN_PREFIX"ar \
|
||||
CC_arm_unknown_linux_gnueabi="$TOOLCHAIN_PREFIX"gcc \
|
||||
QEMU_LD_PREFIX=/usr/arm-linux-gnueabi \
|
||||
RUST_TEST_THREADS=1
|
||||
|
|
|
|||
|
|
@ -1,10 +1,15 @@
|
|||
ARG IMAGE=ubuntu:24.04
|
||||
FROM $IMAGE
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
gcc libc6-dev ca-certificates \
|
||||
gcc-arm-linux-gnueabihf libc6-dev-armhf-cross qemu-user-static
|
||||
ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc \
|
||||
|
||||
ENV TOOLCHAIN_PREFIX=arm-linux-gnueabihf-
|
||||
ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER="$TOOLCHAIN_PREFIX"gcc \
|
||||
CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_RUNNER=qemu-arm-static \
|
||||
AR_arm_unknown_linux_gnueabihf="$TOOLCHAIN_PREFIX"ar \
|
||||
CC_arm_unknown_linux_gnueabihf="$TOOLCHAIN_PREFIX"gcc \
|
||||
QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf \
|
||||
RUST_TEST_THREADS=1
|
||||
|
|
|
|||
|
|
@ -1,10 +1,15 @@
|
|||
ARG IMAGE=ubuntu:24.04
|
||||
FROM $IMAGE
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
gcc libc6-dev ca-certificates \
|
||||
gcc-arm-linux-gnueabihf libc6-dev-armhf-cross qemu-user-static
|
||||
ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc \
|
||||
|
||||
ENV TOOLCHAIN_PREFIX=arm-linux-gnueabihf-
|
||||
ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER="$TOOLCHAIN_PREFIX"gcc \
|
||||
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_RUNNER=qemu-arm-static \
|
||||
AR_armv7_unknown_linux_gnueabihf="$TOOLCHAIN_PREFIX"ar \
|
||||
CC_armv7_unknown_linux_gnueabihf="$TOOLCHAIN_PREFIX"gcc \
|
||||
QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf \
|
||||
RUST_TEST_THREADS=1
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
ARG IMAGE=ubuntu:24.04
|
||||
FROM $IMAGE
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
gcc-multilib libc6-dev ca-certificates
|
||||
gcc-multilib m4 make libc6-dev ca-certificates
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
ARG IMAGE=ubuntu:24.04
|
||||
FROM $IMAGE
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
gcc-multilib libc6-dev ca-certificates
|
||||
gcc-multilib m4 make libc6-dev ca-certificates
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ RUN apt-get update && \
|
|||
|
||||
ENV CARGO_TARGET_LOONGARCH64_UNKNOWN_LINUX_GNU_LINKER=loongarch64-linux-gnu-gcc-14 \
|
||||
CARGO_TARGET_LOONGARCH64_UNKNOWN_LINUX_GNU_RUNNER=qemu-loongarch64-static \
|
||||
AR_loongarch64_unknown_linux_gnu=loongarch64-linux-gnu-ar \
|
||||
CC_loongarch64_unknown_linux_gnu=loongarch64-linux-gnu-gcc-14 \
|
||||
QEMU_LD_PREFIX=/usr/loongarch64-linux-gnu \
|
||||
RUST_TEST_THREADS=1
|
||||
|
|
|
|||
|
|
@ -7,7 +7,10 @@ RUN apt-get update && \
|
|||
gcc-mips-linux-gnu libc6-dev-mips-cross \
|
||||
binfmt-support qemu-user-static qemu-system-mips
|
||||
|
||||
ENV CARGO_TARGET_MIPS_UNKNOWN_LINUX_GNU_LINKER=mips-linux-gnu-gcc \
|
||||
ENV TOOLCHAIN_PREFIX=mips-linux-gnu-
|
||||
ENV CARGO_TARGET_MIPS_UNKNOWN_LINUX_GNU_LINKER="$TOOLCHAIN_PREFIX"gcc \
|
||||
CARGO_TARGET_MIPS_UNKNOWN_LINUX_GNU_RUNNER=qemu-mips-static \
|
||||
AR_mips_unknown_linux_gnu="$TOOLCHAIN_PREFIX"ar \
|
||||
CC_mips_unknown_linux_gnu="$TOOLCHAIN_PREFIX"gcc \
|
||||
QEMU_LD_PREFIX=/usr/mips-linux-gnu \
|
||||
RUST_TEST_THREADS=1
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
ARG IMAGE=ubuntu:24.04
|
||||
FROM $IMAGE
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
ca-certificates \
|
||||
|
|
@ -9,8 +10,11 @@ RUN apt-get update && \
|
|||
libc6-dev-mips64-cross \
|
||||
qemu-user-static \
|
||||
qemu-system-mips
|
||||
ENV CARGO_TARGET_MIPS64_UNKNOWN_LINUX_GNUABI64_LINKER=mips64-linux-gnuabi64-gcc \
|
||||
|
||||
ENV TOOLCHAIN_PREFIX=mips64-linux-gnuabi64-
|
||||
ENV CARGO_TARGET_MIPS64_UNKNOWN_LINUX_GNUABI64_LINKER="$TOOLCHAIN_PREFIX"gcc \
|
||||
CARGO_TARGET_MIPS64_UNKNOWN_LINUX_GNUABI64_RUNNER=qemu-mips64-static \
|
||||
CC_mips64_unknown_linux_gnuabi64=mips64-linux-gnuabi64-gcc \
|
||||
AR_mips64_unknown_linux_gnuabi64="$TOOLCHAIN_PREFIX"ar \
|
||||
CC_mips64_unknown_linux_gnuabi64="$TOOLCHAIN_PREFIX"gcc \
|
||||
QEMU_LD_PREFIX=/usr/mips64-linux-gnuabi64 \
|
||||
RUST_TEST_THREADS=1
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
ARG IMAGE=ubuntu:24.04
|
||||
FROM $IMAGE
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
ca-certificates \
|
||||
|
|
@ -8,8 +9,11 @@ RUN apt-get update && \
|
|||
libc6-dev \
|
||||
libc6-dev-mips64el-cross \
|
||||
qemu-user-static
|
||||
ENV CARGO_TARGET_MIPS64EL_UNKNOWN_LINUX_GNUABI64_LINKER=mips64el-linux-gnuabi64-gcc \
|
||||
|
||||
ENV TOOLCHAIN_PREFIX=mips64el-linux-gnuabi64-
|
||||
ENV CARGO_TARGET_MIPS64EL_UNKNOWN_LINUX_GNUABI64_LINKER="$TOOLCHAIN_PREFIX"gcc \
|
||||
CARGO_TARGET_MIPS64EL_UNKNOWN_LINUX_GNUABI64_RUNNER=qemu-mips64el-static \
|
||||
CC_mips64el_unknown_linux_gnuabi64=mips64el-linux-gnuabi64-gcc \
|
||||
AR_mips64el_unknown_linux_gnuabi64="$TOOLCHAIN_PREFIX"ar \
|
||||
CC_mips64el_unknown_linux_gnuabi64="$TOOLCHAIN_PREFIX"gcc \
|
||||
QEMU_LD_PREFIX=/usr/mips64el-linux-gnuabi64 \
|
||||
RUST_TEST_THREADS=1
|
||||
|
|
|
|||
|
|
@ -7,7 +7,10 @@ RUN apt-get update && \
|
|||
gcc-mipsel-linux-gnu libc6-dev-mipsel-cross \
|
||||
binfmt-support qemu-user-static
|
||||
|
||||
ENV CARGO_TARGET_MIPSEL_UNKNOWN_LINUX_GNU_LINKER=mipsel-linux-gnu-gcc \
|
||||
ENV TOOLCHAIN_PREFIX=mipsel-linux-gnu-
|
||||
ENV CARGO_TARGET_MIPSEL_UNKNOWN_LINUX_GNU_LINKER="$TOOLCHAIN_PREFIX"gcc \
|
||||
CARGO_TARGET_MIPSEL_UNKNOWN_LINUX_GNU_RUNNER=qemu-mipsel-static \
|
||||
AR_mipsel_unknown_linux_gnu="$TOOLCHAIN_PREFIX"ar \
|
||||
CC_mipsel_unknown_linux_gnu="$TOOLCHAIN_PREFIX"gcc \
|
||||
QEMU_LD_PREFIX=/usr/mipsel-linux-gnu \
|
||||
RUST_TEST_THREADS=1
|
||||
|
|
|
|||
|
|
@ -7,7 +7,10 @@ RUN apt-get update && \
|
|||
gcc-powerpc-linux-gnu libc6-dev-powerpc-cross \
|
||||
qemu-system-ppc
|
||||
|
||||
ENV CARGO_TARGET_POWERPC_UNKNOWN_LINUX_GNU_LINKER=powerpc-linux-gnu-gcc \
|
||||
ENV TOOLCHAIN_PREFIX=powerpc-linux-gnu-
|
||||
ENV CARGO_TARGET_POWERPC_UNKNOWN_LINUX_GNU_LINKER="$TOOLCHAIN_PREFIX"gcc \
|
||||
CARGO_TARGET_POWERPC_UNKNOWN_LINUX_GNU_RUNNER=qemu-ppc-static \
|
||||
AR_powerpc_unknown_linux_gnu="$TOOLCHAIN_PREFIX"ar \
|
||||
CC_powerpc_unknown_linux_gnu="$TOOLCHAIN_PREFIX"gcc \
|
||||
QEMU_LD_PREFIX=/usr/powerpc-linux-gnu \
|
||||
RUST_TEST_THREADS=1
|
||||
|
|
|
|||
|
|
@ -7,8 +7,10 @@ RUN apt-get update && \
|
|||
gcc-powerpc64-linux-gnu libc6-dev-ppc64-cross \
|
||||
binfmt-support qemu-user-static qemu-system-ppc
|
||||
|
||||
ENV CARGO_TARGET_POWERPC64_UNKNOWN_LINUX_GNU_LINKER=powerpc64-linux-gnu-gcc \
|
||||
ENV TOOLCHAIN_PREFIX=powerpc64-linux-gnu-
|
||||
ENV CARGO_TARGET_POWERPC64_UNKNOWN_LINUX_GNU_LINKER="$TOOLCHAIN_PREFIX"gcc \
|
||||
CARGO_TARGET_POWERPC64_UNKNOWN_LINUX_GNU_RUNNER=qemu-ppc64-static \
|
||||
CC_powerpc64_unknown_linux_gnu=powerpc64-linux-gnu-gcc \
|
||||
AR_powerpc64_unknown_linux_gnu="$TOOLCHAIN_PREFIX"ar \
|
||||
CC_powerpc64_unknown_linux_gnu="$TOOLCHAIN_PREFIX"gcc \
|
||||
QEMU_LD_PREFIX=/usr/powerpc64-linux-gnu \
|
||||
RUST_TEST_THREADS=1
|
||||
|
|
|
|||
|
|
@ -7,8 +7,11 @@ RUN apt-get update && \
|
|||
gcc-powerpc64le-linux-gnu libc6-dev-ppc64el-cross \
|
||||
qemu-system-ppc
|
||||
|
||||
ENV CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_LINKER=powerpc64le-linux-gnu-gcc \
|
||||
ENV TOOLCHAIN_PREFIX=powerpc64le-linux-gnu-
|
||||
ENV CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_LINKER="$TOOLCHAIN_PREFIX"gcc \
|
||||
CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_RUNNER=qemu-ppc64le-static \
|
||||
AR_powerpc64le_unknown_linux_gnu="$TOOLCHAIN_PREFIX"ar \
|
||||
CC_powerpc64le_unknown_linux_gnu="$TOOLCHAIN_PREFIX"gcc \
|
||||
QEMU_CPU=POWER8 \
|
||||
QEMU_LD_PREFIX=/usr/powerpc64le-linux-gnu \
|
||||
RUST_TEST_THREADS=1
|
||||
|
|
|
|||
|
|
@ -7,7 +7,10 @@ RUN apt-get update && \
|
|||
gcc-riscv64-linux-gnu libc6-dev-riscv64-cross \
|
||||
qemu-system-riscv64
|
||||
|
||||
ENV CARGO_TARGET_RISCV64GC_UNKNOWN_LINUX_GNU_LINKER=riscv64-linux-gnu-gcc \
|
||||
ENV TOOLCHAIN_PREFIX=riscv64-linux-gnu-
|
||||
ENV CARGO_TARGET_RISCV64GC_UNKNOWN_LINUX_GNU_LINKER="$TOOLCHAIN_PREFIX"gcc \
|
||||
CARGO_TARGET_RISCV64GC_UNKNOWN_LINUX_GNU_RUNNER=qemu-riscv64-static \
|
||||
AR_riscv64gc_unknown_linux_gnu="$TOOLCHAIN_PREFIX"ar \
|
||||
CC_riscv64gc_unknown_linux_gnu="$TOOLCHAIN_PREFIX"gcc \
|
||||
QEMU_LD_PREFIX=/usr/riscv64-linux-gnu \
|
||||
RUST_TEST_THREADS=1
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
ARG IMAGE=ubuntu:24.04
|
||||
FROM $IMAGE
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
gcc libc6-dev ca-certificates \
|
||||
gcc-arm-none-eabi \
|
||||
libnewlib-arm-none-eabi
|
||||
ENV NO_STD=1
|
||||
ENV BUILD_ONLY=1
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
ARG IMAGE=ubuntu:24.04
|
||||
FROM $IMAGE
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
gcc libc6-dev ca-certificates \
|
||||
gcc-arm-none-eabi \
|
||||
libnewlib-arm-none-eabi
|
||||
ENV NO_STD=1
|
||||
ENV BUILD_ONLY=1
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
ARG IMAGE=ubuntu:24.04
|
||||
FROM $IMAGE
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
gcc libc6-dev ca-certificates \
|
||||
gcc-arm-none-eabi \
|
||||
libnewlib-arm-none-eabi
|
||||
ENV NO_STD=1
|
||||
ENV BUILD_ONLY=1
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
ARG IMAGE=ubuntu:24.04
|
||||
FROM $IMAGE
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
gcc libc6-dev ca-certificates \
|
||||
gcc-arm-none-eabi \
|
||||
libnewlib-arm-none-eabi
|
||||
ENV NO_STD=1
|
||||
ENV BUILD_ONLY=1
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
ARG IMAGE=ubuntu:20.04
|
||||
FROM $IMAGE
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
gcc clang libc6-dev ca-certificates
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
ARG IMAGE=ubuntu:24.04
|
||||
FROM $IMAGE
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
gcc libc6-dev ca-certificates
|
||||
gcc m4 make libc6-dev ca-certificates
|
||||
|
|
|
|||
|
|
@ -2,9 +2,10 @@
|
|||
|
||||
set -eux
|
||||
|
||||
target="${1:-}"
|
||||
|
||||
export RUST_BACKTRACE="${RUST_BACKTRACE:-full}"
|
||||
export NEXTEST_STATUS_LEVEL=all
|
||||
|
||||
target="${1:-}"
|
||||
|
||||
if [ -z "$target" ]; then
|
||||
host_target=$(rustc -vV | awk '/^host/ { print $2 }')
|
||||
|
|
@ -20,7 +21,7 @@ if [ "${USING_CONTAINER_RUSTC:-}" = 1 ]; then
|
|||
fi
|
||||
|
||||
# Test our implementation
|
||||
if [ "${NO_STD:-}" = "1" ]; then
|
||||
if [ "${BUILD_ONLY:-}" = "1" ]; then
|
||||
echo "nothing to do for no_std"
|
||||
else
|
||||
run="cargo test --package builtins-test --no-fail-fast --target $target"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue