hybrid-array: use handwritten instead of derived impls (#940) #943
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@v3 | |
- 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@v3 | |
- 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@v3 | |
- 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@v3 | |
- 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 }} |