1on: [push, pull_request] 2 3name: Continuous integration 4 5jobs: 6 ci: 7 runs-on: ubuntu-latest 8 strategy: 9 matrix: 10 rust: 11 - stable 12 - beta 13 - nightly 14 - 1.36.0 # MSRV 15 16 steps: 17 - uses: actions/checkout@v2 18 19 - uses: actions/cache@v2 20 with: 21 path: | 22 ~/.cargo/registry 23 ~/.cargo/git 24 target 25 key: ${{ runner.os }}-cargo-${{ matrix.rust }}-${{ hashFiles('**/Cargo.lock') }} 26 27 - uses: actions-rs/toolchain@v1 28 with: 29 profile: minimal 30 toolchain: ${{ matrix.rust }} 31 override: true 32 components: rustfmt, clippy 33 34 - run: cargo test 35 36 - if: ${{ matrix.rust == 'stable' }} 37 run: cargo fmt --all -- --check 38 39 - if: ${{ matrix.rust == 'stable' }} 40 run: cargo clippy --all -- -D warnings 41 42 # Delete things that shouldn't be cached 43 - run: find ./target/debug -maxdepth 1 -type f -delete 44 - run: rm -rf ./target/debug/deps/tinytemplate* 45 - run: rm -rf ./target/debug/.fingerprint/tinytemplate* 46 - run: rm -f ./target/.rustc_info.json 47 - run: rm -rf ~/.cargo/registry/index/ 48