chore: CI #39
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - ci | |
| pull_request: | |
| jobs: | |
| rustfmt: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Nightly Rust | |
| uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: nightly | |
| components: rustfmt | |
| - name: Rustfmt | |
| run: cargo +nightly fmt -- --check | |
| clippy: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Stable Rust | |
| uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: stable | |
| components: clippy | |
| - name: Clippy | |
| run: cargo clippy --all-targets --all-features -- -D warnings | |
| rustdoc: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Stable Rust | |
| uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: stable | |
| - name: Rustdoc | |
| run: cargo rustdoc --all-features -- -D warnings | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Stable Rust | |
| uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: stable | |
| - name: Test all targets | |
| run: cargo test --all-targets | |
| - name: Test docs | |
| run: cargo test --doc | |
| typos: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Check typos | |
| uses: crate-ci/typos@master | |
| with: | |
| files: . | |
| cargo_sort: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Stable Rust | |
| uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: stable | |
| - name: Install cargo-sort | |
| run: cargo install --locked cargo-sort | |
| - name: Check `Cargo.toml` sort | |
| run: cargo sort -c | |
| shear: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Stable Rust | |
| uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: stable | |
| - name: Install `cargo-shear` | |
| run: cargo install --locked cargo-shear | |
| - name: Check unused Cargo dependencies | |
| run: cargo shear | |
| readme: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - uses: actions-rs/toolchain@v1 | |
| with: | |
| toolchain: stable | |
| - name: Install `cargo-sync-readme` | |
| uses: actions-rs/install@v0.1 | |
| with: | |
| crate: cargo-sync-readme | |
| version: latest | |
| - name: Is readme in sync? | |
| run: cargo sync-readme -c |