Skip to content

Fix workflow

Fix workflow #33

Workflow file for this run

name: Check
on:
pull_request:
push:
branches:
- master
jobs:
style:
name: Check Style
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install rust
run: rustup update
- name: Rustfmt Check
run: cargo fmt --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-features) }}
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
target: ${{ matrix.impl.target }}
components: clippy
profile: minimal
override: true
- name: Clippy Check
run: cargo clippy --target ${{ matrix.impl.target }} --features=nightly --no-deps -- -D clippy::pedantic
test-aesni:
strategy:
matrix:
channel: [ stable, beta, nightly ]
name: Test of AESNI with ${{ matrix.channel }}
uses: ./.github/workflows/runtest.yml
with:
target: x86_64-unknown-linux-gnu
channel: ${{ matrix.channel }}
env-vars: CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS=-C target-feature=+sse4.1,+aes
test-aesni-vaes:
name: Test of AESNI with VAES
uses: ./.github/workflows/runtest.yml
with:
target: x86_64-unknown-linux-gnu
channel: nightly
env-vars: CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS=-C target-feature=+vaes
test-aesni-vaes-avx512:
name: Test of AESNI with VAES and AVX512F
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: |
wget https://downloadmirror.intel.com/813591/sde-external-9.33.0-2024-01-07-lin.tar.xz
tar -xJf sde-external-9.33.0-2024-01-07-lin.tar.xz
shell: bash
- uses: ./.github/workflows/runtest.yml
with:
target: x86_64-unknown-linux-gnu
channel: nightly
env-vars: |
CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS=-C target-feature=+vaes,+avx512f
CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUNNER=/sde-external-9.33.0-2024-01-07-lin/sde64 -future --
test-neon:
strategy:
matrix:
channel: [ stable, beta, nightly ]
name: Test of Neon on AArch64 with ${{ matrix.channel }}
uses: ./.github/workflows/runtest.yml
with:
target: aarch64-unknown-linux-gnu
channel: ${{ matrix.channel }}
env-vars: CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUSTFLAGS=-C target-feature=+aes
test-armv8:
name: Test of Neon on ${{ matrix.target }}
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: thumbv7neon-linux-androideabi
caps: THUMBV7NEON_LINUX_ANDROIDEABI
- triple: thumbv7neon-unknown-linux-gnueabihf
caps: THUMBV7NEON_UNKNOWN_LINUX_GNUEABIHF
uses: ./.github/workflows/runtest.yml
with:
target: ${{ matrix.target.triple }}
channel: nightly
env-vars: ${{ format('CARGO_TARGET_{0}_RUSTFLAGS=-C target-feature=+v8,+aes', matrix.target.caps) }}
test-riscv:
name: Test of RV64
uses: ./.github/workflows/runtest.yml
with:
target: riscv64gc-unknown-linux-gnu
channel: nightly
env-vars: |
CARGO_TARGET_RISCV64GC_UNKNOWN_LINUX_GNU_RUSTFLAGS=-C target-feature=+zkne,+zknd
CARGO_TARGET_RISCV64GC_UNKNOWN_LINUX_GNU_RUNNER=qemu-riscv64 -cpu rv64,zk=true
test-software:
strategy:
matrix:
channel: [ stable, beta, nightly ]
target:
- x86_64-unknown-linux-gnu
- powerpc64-unknown-linux-gnu
name: Test of Software AES on ${{ matrix.target }} with ${{ matrix.channel }} Rust
uses: ./.github/workflows/runtest.yml
with:
target: ${{ matrix.target }}
channel: ${{ matrix.channel }}