Skip to content

fixed testing harness: made some amends #24

fixed testing harness: made some amends

fixed testing harness: made some amends #24

Workflow file for this run

name: Check
on: push
jobs:
style:
name: Check Style
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
components: rustfmt
profile: minimal
override: true
- name: Rustfmt check
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all --check
clippy:
continue-on-error: true
name: Clippy Check of ${{ matrix.impl.name }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
impl:
- name: AES-NI
target: x86_64-unknown-linux-gnu
caps: X86_64_UNKNOWN_LINUX_GNU
target-features: +sse4.1,+aes
- name: AES-NI with VAES
target: x86_64-unknown-linux-gnu
caps: X86_64_UNKNOWN_LINUX_GNU
target-features: +vaes
- name: AES-NI with VAES and AVX-512
target: x86_64-unknown-linux-gnu
caps: X86_64_UNKNOWN_LINUX_GNU
target-features: +vaes,+avx512f
- name: Neon
target: aarch64-unknown-linux-gnu
caps: AARCH64_UNKNOWN_LINUX_GNU
target-features: +aes
- name: RV64
target: riscv64gc-unknown-linux-gnu
caps: RISCV64GC_UNKNOWN_LINUX_GNU
target-features: +zkne,+zknd
- name: RV32
target: riscv32i-unknown-none-elf
caps: RISCV32I_UNKNOWN_NONE_ELF
target-features: +zkne,+zknd
- name: Software
target: x86_64-unknown-linux-gnu
caps: X86_64_UNKNOWN_LINUX_GNU
target-features: ''
steps:
- uses: actions/checkout@v3
- run: ${{ format('echo "CARGO_TARGET_{0}_RUSTFLAGS=-C target-feature={1}" >> $GITHUB_ENV', matrix.impl.caps, matrix.impl.target-feature) }}
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
target: ${{ matrix.impl.target }}
components: clippy
profile: minimal
override: true
- name: Clippy Check
uses: actions-rs/cargo@v1
with:
command: clippy
args: --target ${{ matrix.impl.target }} --features=nightly --no-deps
test-x86:
strategy:
fail-fast: false
matrix:
target:
- triple: x86_64-unknown-linux-gnu
caps: X86_64_UNKNOWN_LINUX_GNU
- triple: x86_64-unknown-linux-musl
caps: X86_64_UNKNOWN_LINUX_MUSL
- triple: i686-unknown-linux-gnu
caps: I686_UNKNOWN_LINUX_GNU
- triple: i586-unknown-linux-gnu
caps: I586_UNKNOWN_LINUX_GNU
- triple: i586-unknown-linux-musl
caps: I586_UNKNOWN_LINUX_MUSL
uses: ./.github/workflows/x86.yml
with:
target: ${{ matrix.target.triple }}
target-in-caps: ${{ matrix.target.caps }}
test-aarch64:
strategy:
fail-fast: false
matrix:
target:
- triple: aarch64-unknown-linux-gnu
caps: AARCH64_UNKNOWN_LINUX_GNU
- triple: aarch64-unknown-linux-musl
caps: AARCH64_UNKNOWN_LINUX_MUSL
uses: ./.github/workflows/aarch64.yml
with:
target: ${{ matrix.target.triple }}
target-in-caps: ${{ matrix.target.caps }}
test-armv8:
strategy:
fail-fast: false
matrix:
target:
- triple: armv7-linux-androideabi
caps: ARMV7_LINUX_ANDROIDEABI
- triple: armv7-unknown-linux-gnueabihf
caps: ARMV7_UNKNOWN_LINUX_GNUEABIHF
- triple: armv7-unknown-linux-musleabihf
caps: ARMV7_UNKNOWN_LINUX_MUSLEABIHF
- triple: thumbv7neon-linux-androideabi
caps: THUMBV7NEON_LINUX_ANDROIDEABI
- triple: thumbv7neon-unknown-linux-gnueabihf
caps: THUMBV7NEON_UNKNOWN_LINUX_GNUEABIHF
uses: ./.github/workflows/armv8.yml
with:
target: ${{ matrix.target.triple }}
target-in-caps: ${{ matrix.target.caps }}
test-riscv:
strategy:
fail-fast: false
matrix:
target:
- triple: riscv64gc-unknown-linux-gnu
caps: RISCV64GC_UNKNOWN_LINUX_GNU
uses: ./.github/workflows/riscv.yml
with:
target: ${{ matrix.target.triple }}
target-in-caps: ${{ matrix.target.caps }}
test-other:
strategy:
fail-fast: false
matrix:
target:
- arm-linux-androideabi
- arm-unknown-linux-gnueabi
- arm-unknown-linux-gnueabihf
- arm-unknown-linux-musleabi
- arm-unknown-linux-musleabihf
- armv5te-unknown-linux-gnueabi
- armv5te-unknown-linux-musleabi
- armv7-unknown-linux-gnueabi
- armv7-unknown-linux-musleabi
- powerpc-unknown-linux-gnu
- powerpc64-unknown-linux-gnu
- powerpc64le-unknown-linux-gnu
- sparc64-unknown-linux-gnu
- wasm32-unknown-emscripten
uses: ./.github/workflows/other.yml
with:
target: ${{ matrix.target }}
test-nightly-only:
# These environments have cross support, but don't have rust-std, so cross has to build core, so, nightly-only
strategy:
fail-fast: false
matrix:
target:
- mips-unknown-linux-gnu
- mips-unknown-linux-musl
- mips64-unknown-linux-gnuabi64
- mips64-unknown-linux-muslabi64
- mipsel-unknown-linux-gnu
- mipsel-unknown-linux-musl
- mips64el-unknown-linux-gnuabi64
- mips64el-unknown-linux-muslabi64
name: Test of Software AES on ${{ matrix.target }} with nightly and build-std
uses: ./.github/workflows/runtest.yml
with:
target: ${{ matrix.target }}
channel: nightly