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