name: Test on: push: branches: - master - staging - trying pull_request: paths: - '**.rs' - '**/Cargo.*' - '.github/workflows/**.yml' - 'salsa-2022-tests/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 --all - name: Test uses: actions-rs/cargo@v1 with: command: test args: --all-features --all-targets --all - 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 env: MIRIFLAGS: "-Zmiri-isolation-error=warn" 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