| name: Rust CI |
| |
| on: |
| pull_request: |
| push: |
| branches: |
| - main |
| schedule: |
| - cron: '11 7 * * 1,4' |
| |
| env: |
| RUSTFLAGS: -Dwarnings |
| |
| jobs: |
| |
| fmt: |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Run cargo fmt |
| run: | |
| cargo fmt --all -- --check |
| |
| clippy: |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Run cargo clippy |
| run: | |
| cargo clippy --workspace --tests --examples |
| |
| docs: |
| runs-on: ubuntu-latest |
| env: |
| RUSTDOCFLAGS: -Dwarnings |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Run cargo doc |
| run: | |
| cargo doc --workspace --no-deps |
| |
| test: |
| runs-on: ${{ matrix.os }} |
| strategy: |
| matrix: |
| os: [ubuntu-latest, windows-latest, macOS-latest] |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Run cargo test |
| run: | |
| cargo test --workspace --all-targets |
| |
| msrv-check: |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - uses: actions-rs/toolchain@v1 |
| with: |
| toolchain: 1.65.0 |
| override: true |
| - name: Run cargo check |
| run: | |
| cargo check |
| |
| vet: |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Run cargo vet |
| run: | |
| cargo run -- vet --locked |