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:
Trevor Gross 2025-04-19 03:16:02 +00:00 committed by Trevor Gross
parent 92b1e8454d
commit 01c5888246
24 changed files with 161 additions and 119 deletions

View file

@ -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.

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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"