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: [nightly, beta, stable, 1.53.0] 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 26 - run: cargo check --no-default-features 27 - run: cargo check --features backtrace 28 29 build: 30 name: Rust ${{matrix.rust}} 31 runs-on: ubuntu-latest 32 strategy: 33 fail-fast: false 34 matrix: 35 rust: [1.52.0, 1.51.0, 1.50.0, 1.42.0, 1.38.0] 36 steps: 37 - uses: actions/checkout@v2 38 - uses: dtolnay/rust-toolchain@master 39 with: 40 toolchain: ${{matrix.rust}} 41 - run: cargo check 42 - run: cargo check --no-default-features 43 - run: cargo check --features backtrace 44 if: matrix.rust != '1.38.0' 45 46 windows: 47 name: Windows 48 runs-on: windows-latest 49 steps: 50 - uses: actions/checkout@v2 51 - uses: dtolnay/rust-toolchain@stable 52 - run: cargo check --features backtrace 53 54 clippy: 55 name: Clippy 56 runs-on: ubuntu-latest 57 if: github.event_name != 'pull_request' 58 steps: 59 - uses: actions/checkout@v2 60 - uses: dtolnay/rust-toolchain@clippy 61 - run: cargo clippy --tests -- -Dclippy::all -Dclippy::pedantic 62 63 miri: 64 name: Miri 65 runs-on: ubuntu-latest 66 steps: 67 - uses: actions/checkout@v2 68 - uses: dtolnay/rust-toolchain@nightly 69 with: 70 components: miri, rust-src 71 - run: cargo miri test 72 env: 73 MIRIFLAGS: '-Zmiri-tag-raw-pointers' 74 75 outdated: 76 name: Outdated 77 runs-on: ubuntu-latest 78 if: github.event_name != 'pull_request' 79 steps: 80 - uses: actions/checkout@v2 81 - uses: dtolnay/install@cargo-outdated 82 - run: cargo outdated --exit-code 1 83