name: Tests on: push: branches: - main pull_request: types: [opened, reopened, synchronize] jobs: test: strategy: matrix: rust: # MSRV; most not be higher than the clippy rust version in checks.yml - "1.47" - "stable" os: - ubuntu-latest - macOS-latest - windows-latest name: "Test - Rust ${{ matrix.rust }} on ${{ matrix.os }}" runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v1 - name: Cache cargo registry uses: actions/cache@v2 with: path: ~/.cargo/registry key: ${{ runner.os }}-${{ matrix.rust }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }} - name: Cache cargo build uses: actions/cache@v2 with: path: target key: ${{ runner.os }}-${{ matrix.rust }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }} - uses: actions-rs/toolchain@v1 with: toolchain: "${{ matrix.rust }}" override: true - name: test run: cargo test