name: ascon on: pull_request: paths: - ".github/workflows/ascon.yml" - "ascon/**" - "Cargo.*" push: branches: master defaults: run: working-directory: ascon env: RUSTFLAGS: "-Dwarnings" CARGO_INCREMENTAL: 0 jobs: set-msrv: uses: RustCrypto/actions/.github/workflows/set-msrv.yml@master with: msrv: 1.85.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 --target ${{ matrix.target }} - env: RUSTFLAGS: '-Dwarnings --cfg ascon_backend="soft-compact"' run: cargo build --target ${{ matrix.target }} minimal-versions: uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master with: working-directory: ${{ github.workflow }} 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 test - env: RUSTFLAGS: '-Dwarnings --cfg ascon_backend="soft-compact"' run: cargo test - run: cargo test --release test-miri: runs-on: ubuntu-latest strategy: matrix: target: - armv7-unknown-linux-gnueabi - s390x-unknown-linux-gnu - x86_64-unknown-linux-gnu steps: - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: toolchain: nightly - run: rustup component add miri - run: cargo miri setup - run: cargo miri test --target ${{ matrix.target }} - env: RUSTFLAGS: '-Dwarnings --cfg ascon_backend="soft-compact"' run: cargo miri test --target ${{ matrix.target }}