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.81.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 }} 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 --no-default-features - run: cargo test - run: cargo test --all-features 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: RustCrypto/actions/cargo-cache@master - 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 }} --all-features