1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
name: Rust
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
env:
CARGO_TERM_COLOR: always
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
toolchain:
- stable
- beta
- nightly
steps:
- uses: actions/checkout@v3
- name: Install rustup
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.toolchain }}
override: true
components: rustfmt, clippy
- name: Install cargo-hack
run: cargo install cargo-hack
- name: Run clippy
run: cargo hack --feature-powerset clippy --verbose
- name: Run rustfmt
run: cargo fmt --check
- name: Run tests
run: cargo hack --feature-powerset test --verbose --lib --release
- name: Run doctests
run: cargo hack --feature-powerset test --verbose --doc
msrv:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install rustup
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- name: Install cargo-hack
run: cargo install cargo-msrv
- name: Check rust version
run: cargo msrv verify
miri:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install rustup
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true
components: miri
- name: Install nextest
run: cargo install cargo-nextest
- name: Run miri on libtests
run: cargo miri nextest run -j4
- name: Run miri on doctests
run: cargo miri test --doc
|