name: Rust core on: pull_request: paths: - "Cargo.toml" - "Cargo.lock" - "crates/vnidrop/**" - ".github/workflows/rust-core.yml" push: paths: - "Cargo.toml" - "Cargo.lock" - "crates/vnidrop/**" - ".github/workflows/rust-core.yml" permissions: contents: read jobs: quality: runs-on: ubuntu-latest timeout-minutes: 30 steps: - uses: actions/checkout@v4 - name: Install Rust quality components run: rustup component add clippy rustfmt - name: Check formatting run: cargo fmt --all -- --check - name: Run strict Clippy run: cargo clippy --workspace --all-targets -- -D warnings - name: Run unit and integration tests run: cargo test --workspace --all-targets - name: Check documentation env: RUSTDOCFLAGS: -D warnings run: cargo doc --workspace --no-deps