name: Test on: push: branches: - master - staging - trying pull_request: paths: - "**.rs" - "**/Cargo.*" - ".github/workflows/**.yml" - "tests/compile-fail/**.stderr" merge_group: jobs: test: name: Test strategy: matrix: rust: - stable - beta experimental: - false include: - rust: nightly experimental: true continue-on-error: ${{ matrix.experimental }} runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Setup Rust toolchain uses: actions-rs/toolchain@v1 with: toolchain: ${{ matrix.rust }} components: rustfmt, clippy default: true - name: Format uses: actions-rs/cargo@v1 with: command: fmt args: -- --check - name: Clippy uses: actions-rs/cargo@v1 with: command: clippy args: --all-features --all-targets --workspace - name: Test uses: actions-rs/cargo@v1 with: command: test args: --all-features --all-targets --workspace - name: Test docs uses: actions-rs/cargo@v1 with: command: test args: --doc - name: Check (without default features) uses: actions-rs/cargo@v1 with: command: check args: --no-default-features miri: name: Miri runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - 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 --no-fail-fast - name: Run examples with Miri run: | cargo miri run --example calc