| name: CI |
| |
| on: |
| push: |
| pull_request: |
| schedule: [cron: "40 1 * * *"] |
| |
| permissions: |
| contents: read |
| |
| env: |
| RUSTFLAGS: -Dwarnings |
| |
| jobs: |
| test: |
| name: Rust ${{matrix.rust}} |
| runs-on: ubuntu-latest |
| strategy: |
| fail-fast: false |
| matrix: |
| rust: [beta, stable, 1.56.0] |
| include: |
| - rust: nightly |
| rustflags: --cfg async_trait_nightly_testing |
| timeout-minutes: 45 |
| steps: |
| - uses: actions/checkout@v3 |
| - uses: dtolnay/rust-toolchain@master |
| with: |
| toolchain: ${{matrix.rust}} |
| - run: cargo test |
| env: |
| RUSTFLAGS: ${{matrix.rustflags}} ${{env.RUSTFLAGS}} |
| |
| msrv: |
| name: Rust 1.39.0 |
| runs-on: ubuntu-latest |
| timeout-minutes: 45 |
| steps: |
| - uses: actions/checkout@v3 |
| - uses: dtolnay/rust-[email protected] |
| - run: cargo check |
| |
| clippy: |
| name: Clippy |
| runs-on: ubuntu-latest |
| if: github.event_name != 'pull_request' |
| timeout-minutes: 45 |
| steps: |
| - uses: actions/checkout@v3 |
| - uses: dtolnay/rust-toolchain@clippy |
| - run: cargo clippy --tests -- -Dclippy::all -Dclippy::pedantic |
| |
| miri: |
| name: Miri |
| runs-on: ubuntu-latest |
| timeout-minutes: 45 |
| steps: |
| - uses: actions/checkout@v3 |
| - uses: dtolnay/rust-toolchain@miri |
| - run: cargo miri test |
| env: |
| MIRIFLAGS: -Zmiri-strict-provenance |
| |
| outdated: |
| name: Outdated |
| runs-on: ubuntu-latest |
| if: github.event_name != 'pull_request' |
| timeout-minutes: 45 |
| steps: |
| - uses: actions/checkout@v3 |
| - uses: dtolnay/install@cargo-outdated |
| - run: cargo outdated --workspace --exit-code 1 |