Add Antigravity IDE plugin for Rust patterns #80
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: Rust CI | |
| on: | |
| push: | |
| branches: [ "master" ] | |
| pull_request: | |
| branches: [ "master" ] | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUST_BACKTRACE: 1 | |
| CARGO_INCREMENTAL: 0 | |
| jobs: | |
| build: | |
| name: Build and Test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache dependencies | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Build workspace | |
| run: cargo build --workspace --verbose --locked | |
| - name: Run tests | |
| run: cargo test --verbose --workspace --locked --all-targets | |
| clippy: | |
| name: Clippy | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy | |
| - name: Cache dependencies | |
| uses: Swatinem/rust-cache@v2 | |
| # Run clippy on a2a-rs with all features (the core crate supports --all-features) | |
| - name: Run clippy (a2a-rs, all features) | |
| run: cargo clippy -p a2a-rs --all-targets --all-features -- -D warnings | |
| # Run clippy on other workspace crates that support --all-features | |
| - name: Run clippy (a2a-ap2, a2a-web-client, a2a-agents-common) | |
| run: cargo clippy -p a2a-ap2 -p a2a-web-client -p a2a-agents-common --all-targets --all-features -- -D warnings | |
| # Run clippy on a2a-agents with specific features (mcp-server/mcp-client | |
| # depend on a local path that is not available in CI) | |
| - name: Run clippy (a2a-agents) | |
| run: cargo clippy -p a2a-agents --all-targets --features "reimbursement-agent,sqlx,ap2,auth" -- -D warnings | |
| rustfmt: | |
| name: Format | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt | |
| - name: Check formatting | |
| run: cargo fmt --all -- --check | |
| docs: | |
| name: Doc Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache dependencies | |
| uses: Swatinem/rust-cache@v2 | |
| # Check docs per-crate to avoid mcp-related path dep issues | |
| - name: Check documentation (a2a-rs) | |
| run: cargo doc --no-deps --all-features -p a2a-rs | |
| - name: Check documentation (other crates) | |
| run: cargo doc --no-deps -p a2a-ap2 -p a2a-web-client -p a2a-agents-common | |
| - name: Check documentation (a2a-agents) | |
| run: cargo doc --no-deps -p a2a-agents --features "reimbursement-agent,sqlx,ap2,auth" | |
| audit: | |
| name: Security Audit | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Install cargo-audit | |
| uses: taiki-e/install-action@cargo-audit | |
| - name: Run cargo-audit | |
| run: cargo audit --ignore RUSTSEC-2023-0071 | |