Skip to content

ci: add contracts job to PR CI and make test-contracts local target#193

Merged
imaurer merged 1 commit intomainfrom
add-python-docs-pr-ci-gate
Mar 11, 2026
Merged

ci: add contracts job to PR CI and make test-contracts local target#193
imaurer merged 1 commit intomainfrom
add-python-docs-pr-ci-gate

Conversation

@imaurer
Copy link
Collaborator

@imaurer imaurer commented Mar 11, 2026

Summary

  • Adds a contracts CI job to the pull_request workflow that runs uv sync --extra dev, uv run pytest tests/ -v --mcp-cmd "biomcp serve", and uv run mkdocs build --strict — the same steps as the release validation path
  • Adds make test-contracts as the canonical local pre-merge target for the Python/docs layer; make test remains Rust-only
  • Documents make test-contracts in RUN.md under Pre-Merge Checks so engineers know which gate catches docs and Python contract regressions
  • Updates analysis/technical/overview.md to describe both CI jobs and extends the docs-contract test to assert that guidance is accurate

Why

PR CI previously only ran cargo fmt --check, cargo clippy, and cargo test. The Python test suite and strict MkDocs build only ran during release validation. This meant docs/Python regressions could merge undetected and only surface at tag time. This change closes that gap.

Test plan

  • CI check job (Rust fmt/clippy/test) passes
  • CI contracts job (Python pytest + mkdocs strict) passes
  • make test-contracts runs cleanly locally

Add a dedicated `contracts` CI job to the pull_request workflow that
runs the Python test suite and strict MkDocs build — the same steps
that release validation uses. This ensures docs and Python contract
regressions are caught before merge rather than only at release time.

Add `make test-contracts` as the canonical local pre-merge target for
the Python/docs layer, and document it in RUN.md under Pre-Merge
Checks. `make test` remains Rust-only; the new target covers the
complementary layer.

Update overview.md to describe both CI jobs and their scopes, and
extend the docs-contract test to assert that this guidance is accurate.
@imaurer imaurer merged commit 64e0685 into main Mar 11, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant