name: ci on: [push, pull_request] jobs: test: name: Cargo build & test runs-on: ubuntu-latest strategy: matrix: rust: - 1.74.1 - 1.75.0 - 1.76.0 - stable - beta - nightly steps: - uses: actions/checkout@v4 - name: Install Rust ${{ matrix.rust }} run: rustup toolchain install ${{ matrix.rust }} - name: Run cargo build run: cargo +${{ matrix.rust }} build --verbose - name: Run cargo test run: cargo +${{ matrix.rust }} test --verbose formatting: name: Cargo fmt runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Update Rust run: rustup update stable - name: Run cargo fmt run: cargo +stable fmt --all -- --check clippy: name: Clippy runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Update Rust run: rustup update stable - name: Run clippy run: cargo +stable clippy --all-features cargo-deny: name: Check dependencies runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: EmbarkStudios/cargo-deny-action@v1