ctutils: use new cmov trait impls; remove unsafe
#298
Workflow file for this run
This file contains hidden or 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: ctutils | |
| on: | |
| pull_request: | |
| paths: | |
| - ".github/workflows/ctutils.yml" | |
| - "ctutils/**" | |
| - "Cargo.*" | |
| push: | |
| branches: master | |
| permissions: | |
| contents: read | |
| defaults: | |
| run: | |
| working-directory: ctutils | |
| env: | |
| CARGO_INCREMENTAL: 0 | |
| RUSTFLAGS: "-Dwarnings" | |
| # Cancels CI jobs when new commits are pushed to a PR branch | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| rust: | |
| - 1.85.0 # MSRV | |
| - stable | |
| target: | |
| - thumbv7em-none-eabi | |
| - wasm32-unknown-unknown | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: RustCrypto/actions/cargo-cache@master | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: ${{ matrix.rust }} | |
| targets: ${{ matrix.target }} | |
| - run: cargo build --target ${{ matrix.target }} | |
| - run: cargo build --target ${{ matrix.target }} --features alloc | |
| # Disabled until there's a stable `cmov` v0.5.0 release | |
| # minimal-versions: | |
| # uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master | |
| # with: | |
| # working-directory: ${{ github.workflow }} | |
| test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| rust: | |
| - 1.85.0 # MSRV | |
| - stable | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: RustCrypto/actions/cargo-cache@master | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: ${{ matrix.rust }} | |
| - run: cargo test | |
| - run: cargo test --features alloc | |
| - run: cargo test --features subtle | |
| - run: cargo test --all-features | |
| - run: cargo test --all-features --release | |
| # Test using `cargo careful` | |
| test-careful: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dtolnay/rust-toolchain@nightly | |
| - run: cargo install cargo-careful | |
| - run: cargo careful test --all-features | |
| # Test using `cargo miri` | |
| test-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@v6 | |
| - uses: dtolnay/rust-toolchain@nightly | |
| - run: rustup component add miri && cargo miri setup | |
| - run: cargo miri test --target ${{ matrix.target }} --all-features --lib |