Fix workflow #33
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: 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 }} |