Replace cross tests with MIRI (#63)

This commit is contained in:
Artyom Pavlov 2023-09-12 17:19:27 +03:00 committed by GitHub
parent 48cc4acf38
commit 329d4cdcb1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 42 additions and 56 deletions

View File

@ -1,33 +0,0 @@
name: "cross-tests"
inputs:
rust:
required: true
package:
required: true
target:
required: true
features:
required: true
runs:
using: "composite"
steps:
- uses: actions/checkout@v3
- uses: RustCrypto/actions/cargo-cache@master
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ inputs.rust }}
targets: ${{ inputs.target }}
- uses: RustCrypto/actions/cross-install@master
- if: ${{ inputs.features != 'NO_FEATURE' }}
run: |
cd ${{ inputs.package }}
cross test --target ${{ inputs.target }} --no-default-features \
--features ${{ inputs.features }}
shell: bash
- if: ${{ inputs.features == 'NO_FEATURE' }}
run: |
cd ${{ inputs.package }}
cross test --target ${{ inputs.target }} --no-default-features
shell: bash

View File

@ -65,3 +65,28 @@ jobs:
- 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

View File

@ -80,36 +80,30 @@ jobs:
- run: cargo check --features simd
- run: cargo test --features simd
# Cross-compiled tests
cross:
needs: set-msrv
miri:
runs-on: ubuntu-latest
env:
MIRIFLAGS: "-Zmiri-symbolic-alignment-check -Zmiri-strict-provenance"
strategy:
matrix:
rust:
- ${{needs.set-msrv.outputs.msrv}}
- stable
target:
- i686-unknown-linux-gnu
- x86_64-unknown-linux-gnu
- aarch64-unknown-linux-gnu
- powerpc-unknown-linux-gnu
features:
- no_unroll
- 'NO_FEATURE'
runs-on: ubuntu-latest
defaults:
run:
# Cross mounts only current package, i.e. by default it ignores workspace's Cargo.toml
working-directory: .
- s390x-unknown-linux-gnu
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/cross-tests
- uses: dtolnay/rust-toolchain@master
with:
rust: ${{ matrix.rust }}
package: ${{ github.workflow }}
target: ${{ matrix.target }}
features: ${{ matrix.features }}
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