name: Rust API gates on: push: pull_request: jobs: api-gates: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@1.85.0 with: components: clippy,rustfmt - name: Generated mapping and API coverage run: | python3 tools/generate_rust_mapping.py --check python3 tools/generate_api_shims.py --check python3 tools/check_api_coverage.py python3 tools/generate_surface.py --check python3 tools/check_test_parity.py python3 -m unittest discover -s tools -p 'test_*.py' - name: Formatting run: cargo fmt --all -- --check - name: Workspace check run: cargo check --workspace --all-targets - name: Downstream API fixture run: cargo check --locked --manifest-path tests/api-compile/Cargo.toml - name: Test compilation run: cargo test --workspace --no-run - name: Clippy run: cargo clippy --workspace --all-targets --all-features -- -D warnings - name: Documentation run: cargo doc --workspace --no-deps