name: Build and Test on: push: pull_request: types: - opened - synchronize - reopened - ready_for_review env: CARGO_TERM_COLOR: always jobs: clippy_check: runs-on: ubuntu-latest env: RUSTFLAGS: "-Dwarnings" # Make sure CI fails on all warnings, including Clippy lints steps: - uses: actions/checkout@v4 - name: Run Clippy run: cargo clippy --all-targets --all-features lint: runs-on: ubuntu-latest if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name steps: - uses: actions/checkout@v4 - name: Check formatting run: cargo fmt --all -- --check test: runs-on: ubuntu-latest if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name steps: - uses: actions/checkout@v4 - name: Install Rust toolchain uses: actions-rs/toolchain@v1 with: toolchain: stable override: true - name: Run tests run: cargo test