on: [push, pull_request]
name: Test
jobs:
check:
strategy:
matrix:
toolchain: [stable, beta, nightly]
os: [ubuntu-latest, windows-latest]
name: Check
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Install stable toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.toolchain }}
- name: Run cargo check
run: cargo check
test:
strategy:
matrix:
toolchain: [stable, beta, nightly]
os: [ubuntu-latest, windows-latest]
name: Test
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Install stable toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.toolchain }}
- name: Run cargo test
run: cargo test
doctest:
strategy:
matrix:
toolchain: [stable, beta, nightly]
os: [ubuntu-latest, windows-latest]
name: DocTest
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Install stable toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.toolchain }}
- name: Run cargo test
run: cargo test --doc
miri:
name: Miri
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Install Rustup
uses: dtolnay/rust-toolchain@nightly
- name: Install Miri
run: |
rustup toolchain install nightly --component miri
rustup override set nightly
cargo miri setup
- name: Test with Miri
run: cargo miri test