Repository navigation
chore(cli): remove pact-python-cli - #1723
Merged
Merged
Conversation
This was referenced Oct 14, 2026
JP-Ellis
force-pushed
the
remove-cli
branch
2 times, most recently
from
October 14, 2026 22:31
02fe0a1 to
128ff38
Compare
The compatibility suite publishes pacts to a broker through `pact_cli.BROKER_CLIENT_PATH`, the Ruby `pact-broker` bundled by the workspace's pact-python-cli. That package is leaving this repository, so the suite now runs `pact broker publish` from the Rust Pact CLI, which accepts the same flags. `mise.toml` pins the CLI through mise's GitHub backend, and the test job installs it with `jdx/mise-action`. Assisted-by: Claude Code:claude-opus-5-5
`pact-python-cli` bundled the Ruby standalone for `pact.v2`, which is gone. Its future releases repackage the Rust Pact CLI and are published from pact-foundation/pact-cli, alongside the binaries they wrap. 2.6.4.0 is the last release built here. Removes the package, its release workflow, its CI steps, the `cli` entry in `scripts/release.py`, its docs pages, and its uv workspace membership. User-facing docs now point at the `pact broker` subcommand of the Pact CLI. Assisted-by: Claude Code:claude-opus-5-5
JP-Ellis
marked this pull request as ready for review
October 14, 2026 23:08
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1723 +/- ##
====================================
- Coverage 69% 68% -1%
====================================
Files 22 20 -2
Lines 3355 3260 -95
====================================
- Hits 2333 2247 -86
+ Misses 1022 1013 -9
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📝 Summary
Removes
pact-python-clifrom this repository. The package continues on PyPI. Its future releases will be built inpact-foundation/pact-clifrom the Rustpactbinary, under a new version epoch (1!…). 2.6.4.0, released via #1609, is the last version built here.This PR has two commits:
test: get the Pact CLI for the compatibility suite from misepact_cli.BROKER_CLIENT_PATH(the Rubypact-broker) to publish pacts.pact broker publish, which accepts the same flags.mise.tomlpinsgithub:pact-foundation/pact-cli.jdx/mise-action.CONTRIBUTING.mdtells contributors to runmise install.chore(cli): remove pact-python-clirelease-cli.yml.clientry inscripts/release.py, the docs-site pages, the uv workspace member, and theprek.tomlandcliff.tomlpath references.docs/consumer.md,docs/releases.mdand threeVerifierdocstrings now refer topact brokersubcommands.🔥 Motivation
pact-pythonusespact-python-cli.pact-cliputs the wheels next to the binaries they contain. It also lets the Rust-only version reset happen without thecompat-v2pin in the way.Alternatives considered:
!.pip install pact-python-cliusers without upgrades.🔨 Test Plan
examples/,src/,tests/,scripts/) pass.pactfrom mise onPATH: 528 passed, 14 skipped.uv locksucceeds and dropspact-python-cli.pact-aarch64-apple-darwin.tar.xz).--container, which CI doesn't pass. To cover them, I ran the helper's exactpact broker publishinvocation against the suite's broker container, and the broker served the published pact.Those
--containerscenarios currently hang for an unrelated reason.pactfoundation/pact-broker:latestno longer shipscurl, so the healthcheck intests/compatibility_suite/util/pact-broker.ymlnever passes. That fix will go in a separate PR.🔗 Related issues/PRs
Stack: #1721 → #1722 → #1723.
pact-python-cli2.6.4.0 is on PyPI. This PR deletes the release workflow.release/pact-python-cliPR and branch.pact-cliPR that publishespact-python-cliunder the epoch.