cpufeatures: add DIT support for AArch64 Linux targets #1183
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: cpufeatures | |
on: | |
pull_request: | |
paths: | |
- "cpufeatures/**" | |
- "Cargo.*" | |
push: | |
branches: master | |
permissions: | |
contents: read | |
defaults: | |
run: | |
working-directory: cpufeatures | |
env: | |
CARGO_INCREMENTAL: 0 | |
RUSTFLAGS: "-Dwarnings" | |
jobs: | |
minimal-versions: | |
uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master | |
with: | |
working-directory: ${{ github.workflow }} | |
# Linux tests | |
linux: | |
strategy: | |
matrix: | |
include: | |
# 32-bit Linux/x86 | |
- target: i686-unknown-linux-gnu | |
rust: 1.40.0 # MSRV | |
deps: sudo apt update && sudo apt install gcc-multilib | |
- target: i686-unknown-linux-gnu | |
rust: stable | |
deps: sudo apt update && sudo apt install gcc-multilib | |
# 64-bit Linux/x86_64 | |
- target: x86_64-unknown-linux-gnu | |
rust: 1.40.0 # MSRV | |
- target: x86_64-unknown-linux-gnu | |
rust: stable | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: RustCrypto/actions/cargo-cache@master | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ matrix.rust }} | |
targets: ${{ matrix.target }} | |
# Isolate this crate from workspace which is otherwise MSRV 1.56 due to 2021 edition crates | |
- run: rm ../Cargo.toml | |
- run: ${{ matrix.deps }} | |
- run: cargo test --target ${{ matrix.target }} | |
# macOS tests | |
macos: | |
strategy: | |
matrix: | |
toolchain: | |
# TODO(tarcieri): try re-enabling this when we bump MSRV | |
# - 1.40.0 # MSRV | |
- stable | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: RustCrypto/actions/cargo-cache@master | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ matrix.toolchain }} | |
targets: x86_64-apple-darwin | |
# Isolate this crate from workspace which is otherwise MSRV 1.56 due to 2021 edition crates | |
- run: rm ../Cargo.toml | |
- run: cargo test | |
# Windows tests | |
windows: | |
strategy: | |
matrix: | |
include: | |
# 64-bit Windows (GNU) | |
# TODO(tarcieri): try re-enabling this when we bump MSRV | |
#- target: x86_64-pc-windows-gnu | |
# toolchain: 1.40.0 # MSRV | |
- target: x86_64-pc-windows-gnu | |
toolchain: stable | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: RustCrypto/actions/cargo-cache@master | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ matrix.toolchain }} | |
targets: ${{ matrix.target }} | |
# Isolate this crate from workspace which is otherwise MSRV 1.56 due to 2021 edition crates | |
- run: rm ../Cargo.toml | |
- run: cargo test --target ${{ matrix.target }} | |
# Cross-compiled tests | |
cross: | |
strategy: | |
matrix: | |
include: | |
# ARM64 | |
# TODO(tarcieri): try re-enabling this when we bump MSRV | |
#- target: aarch64-unknown-linux-gnu | |
# rust: 1.40.0 # MSRV | |
- target: aarch64-unknown-linux-gnu | |
rust: stable | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: RustCrypto/actions/cargo-cache@master | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ matrix.rust }} | |
targets: ${{ matrix.target }} | |
- uses: RustCrypto/actions/cross-install@master | |
# Isolate this crate from workspace which is otherwise MSRV 1.56 due to 2021 edition crates | |
- run: rm ../Cargo.toml | |
- run: cross test --target ${{ matrix.target }} | |
# Build-only tests | |
build-only: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: RustCrypto/actions/cargo-cache@master | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: stable | |
- run: rustup target add loongarch64-unknown-linux-gnu | |
- run: cargo build --target loongarch64-unknown-linux-gnu |