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: [beta, stable, 1.36.0] 16 include: 17 - rust: nightly 18 rustflags: --cfg thiserror_nightly_testing 19 steps: 20 - uses: actions/checkout@v2 21 - uses: dtolnay/rust-toolchain@master 22 with: 23 toolchain: ${{matrix.rust}} 24 components: rust-src 25 - run: cargo test --all 26 env: 27 RUSTFLAGS: ${{matrix.rustflags}} 28 29 msrv: 30 name: Rust 1.31.0 31 runs-on: ubuntu-latest 32 steps: 33 - uses: actions/checkout@v2 34 - uses: dtolnay/rust-toolchain@1.31.0 35 - run: cargo check 36 37 clippy: 38 name: Clippy 39 runs-on: ubuntu-latest 40 if: github.event_name != 'pull_request' 41 steps: 42 - uses: actions/checkout@v2 43 - uses: dtolnay/rust-toolchain@clippy 44 - run: cargo clippy --tests -- -Dclippy::all -Dclippy::pedantic 45 46 outdated: 47 name: Outdated 48 runs-on: ubuntu-latest 49 if: github.event_name != 'pull_request' 50 steps: 51 - uses: actions/checkout@v2 52 - run: cargo outdated --exit-code 1 53