Skip to content

Build contracts CI against branch biomcp binary#216

Merged
imaurer merged 1 commit intomainfrom
build-contracts-ci-bin
Mar 14, 2026
Merged

Build contracts CI against branch biomcp binary#216
imaurer merged 1 commit intomainfrom
build-contracts-ci-bin

Conversation

@imaurer
Copy link
Copy Markdown
Collaborator

@imaurer imaurer commented Mar 14, 2026

Summary

  • Add cargo build --release --locked as the first step in the contracts CI job so the job validates the branch binary rather than the last published PyPI wheel
  • Update pytest invocation to use --mcp-cmd "./target/release/biomcp serve" instead of relying on the wheel-installed biomcp command
  • Mirror the same four-step sequence in make test-contracts so local and CI contract proofs stay in sync
  • Update analysis/technical/overview.md and RUN.md to document the current local contract proof
  • Extend tests/test_upstream_planning_analysis_docs.py to split CI vs release contract expectations, preventing silent regression back to wheel-only validation

Why

The contracts CI lane was exercising the last published PyPI wheel instead of the branch under review. PRs could pass CI even when CLI or MCP contract changes would have failed once the new binary was shipped. This change closes that verification gap so the contracts gate reflects actual repo-head behavior.

Test plan

  • make test-contracts passes (cargo build → pytest 53/53 → mkdocs build)
  • uv run pytest tests/test_upstream_planning_analysis_docs.py -v passes (9/9)
  • CI contracts job passes on this PR (validates the new build step runs first)
  • release.yml validate job is unchanged (wheel-based path intentionally preserved)

@imaurer imaurer merged commit 3e5cd6d into main Mar 14, 2026
5 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