• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1name: CI
2
3on:
4  push:
5  pull_request:
6  schedule: [cron: "40 1 * * *"]
7
8jobs:
9  test:
10    name: Rust ${{matrix.rust}}
11    runs-on: ubuntu-latest
12    strategy:
13      fail-fast: false
14      matrix:
15        rust: [nightly, beta, stable, 1.45.0]
16    steps:
17      - uses: actions/checkout@v2
18      - uses: dtolnay/rust-toolchain@master
19        with:
20          toolchain: ${{matrix.rust}}
21      - run: cargo test
22
23  mintest:
24    name: Rust 1.34.0
25    runs-on: ubuntu-latest
26    steps:
27      - uses: actions/checkout@v2
28      - uses: dtolnay/rust-toolchain@1.34.0
29      - run: cargo test --test test_item
30
31  msrv:
32    name: Rust 1.31.0
33    runs-on: ubuntu-latest
34    steps:
35      - uses: actions/checkout@v2
36      - uses: dtolnay/rust-toolchain@1.31.0
37      - run: cargo check
38
39  minimal:
40    name: Minimal versions
41    runs-on: ubuntu-latest
42    steps:
43      - uses: actions/checkout@v2
44      - uses: dtolnay/rust-toolchain@nightly
45      - run: cargo -Z minimal-versions generate-lockfile
46      - run: cargo check --locked
47
48  clippy:
49    name: Clippy
50    runs-on: ubuntu-latest
51    if: github.event_name != 'pull_request'
52    steps:
53      - uses: actions/checkout@v2
54      - uses: dtolnay/rust-toolchain@clippy
55      - run: cargo clippy --tests -- -Dclippy::all -Dclippy::pedantic
56
57  outdated:
58    name: Outdated
59    runs-on: ubuntu-latest
60    if: github.event_name != 'pull_request'
61    steps:
62      - uses: actions/checkout@v2
63      - run: cargo outdated --exit-code 1
64