name: CI on: push: branches: [master, main] pull_request: env: CARGO_TERM_COLOR: always jobs: test: name: Test (${{ matrix.rust }}) runs-on: ubuntu-latest strategy: matrix: rust: [stable, beta, "1.88"] steps: - uses: actions/checkout@v5 - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: ${{ matrix.rust }} - run: cargo test --all-features fmt: name: Formatting runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: stable components: rustfmt - run: cargo fmt --all --check clippy: name: Clippy runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: stable components: clippy - run: cargo clippy --all-targets --all-features -- -D warnings docs: name: Documentation runs-on: ubuntu-latest env: RUSTDOCFLAGS: -D warnings steps: - uses: actions/checkout@v5 - uses: actions-rust-lang/setup-rust-toolchain@v1 - run: cargo doc --no-deps --all-features