ascon: MSRV 1.60 #194
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: keccak | |
on: | |
pull_request: | |
paths: | |
- ".github/workflows/keccak.yml" | |
- "keccak/**" | |
- "Cargo.*" | |
push: | |
branches: master | |
defaults: | |
run: | |
working-directory: keccak | |
env: | |
RUSTFLAGS: "-Dwarnings" | |
CARGO_INCREMENTAL: 0 | |
jobs: | |
set-msrv: | |
uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master | |
with: | |
msrv: 1.60.0 | |
build: | |
needs: set-msrv | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
rust: | |
- ${{needs.set-msrv.outputs.msrv}} | |
- stable | |
target: | |
- thumbv7em-none-eabi | |
- wasm32-unknown-unknown | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: RustCrypto/actions/cargo-cache@master | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ matrix.rust }} | |
targets: ${{ matrix.target }} | |
- run: cargo build --no-default-features --target ${{ matrix.target }} | |
minimal-versions: | |
uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master | |
with: | |
working-directory: ${{ github.workflow }} | |
stable-cmd: cargo hack test --release --feature-powerset --skip simd # `simd` requires nightly | |
test: | |
needs: set-msrv | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
rust: | |
- ${{needs.set-msrv.outputs.msrv}} | |
- stable | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: RustCrypto/actions/cargo-cache@master | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ matrix.rust }} | |
- run: cargo check --no-default-features | |
- run: cargo check | |
- run: cargo check --features no_unroll | |
- run: cargo test --no-default-features | |
- run: cargo test | |
- run: cargo test --features no_unroll | |
test-simd: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: RustCrypto/actions/cargo-cache@master | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: nightly | |
- run: cargo check --features simd | |
- run: cargo test --features simd | |
miri: | |
runs-on: ubuntu-latest | |
env: | |
MIRIFLAGS: "-Zmiri-symbolic-alignment-check -Zmiri-strict-provenance" | |
strategy: | |
matrix: | |
target: | |
- x86_64-unknown-linux-gnu | |
- s390x-unknown-linux-gnu | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: nightly | |
- name: Install Miri | |
run: | | |
rustup component add miri | |
cargo miri setup | |
- name: Test with Miri | |
run: | | |
cargo miri test --target ${{ matrix.target }} --no-default-features | |
cargo miri test --target ${{ matrix.target }} | |
cargo miri test --target ${{ matrix.target }} --features no_unroll | |
cargo miri test --target ${{ matrix.target }} --features simd | |
aarch64-sha3: | |
needs: set-msrv | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
# Cross mounts only current package, i.e. by default it ignores workspace's Cargo.toml | |
working-directory: . | |
strategy: | |
matrix: | |
rust: | |
- ${{needs.set-msrv.outputs.msrv}} | |
- stable | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: RustCrypto/actions/cargo-cache@master | |
- uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ matrix.rust }} | |
targets: aarch64-unknown-linux-gnu | |
- name: Install pre-compiled cross | |
run: | | |
# We need a recent version for RUSTFLAGS to work. | |
wget -O /tmp/binaries.tar.gz https://github.com/cross-rs/cross/releases/download/v0.2.4/cross-x86_64-unknown-linux-gnu.tar.gz | |
tar -C /tmp -xzf /tmp/binaries.tar.gz | |
mv /tmp/cross ~/.cargo/bin | |
shell: bash | |
- name: cross test | |
run: | | |
cd keccak | |
# Cross doesn't enable `sha3` by default, but QEMU supports it. | |
export RUSTFLAGS="-C target-feature=+sha3" | |
cross test --target aarch64-unknown-linux-gnu --no-default-features |