• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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