Skip to content

Conversation

@JP-Ellis
Copy link
Contributor

📝 Summary

Starting with 2.5, the Pact Standalone repo contains a number of Rust-based CLIs to replace the (now legacy) Ruby CLIs.

🚨 Breaking Changes

None for now, but eventually, the Ruby-based CLIs will be removed.

🔥 Motivation

The Rust-based CLIs are more performant and smaller in size than the ones based on Ruby. Additionally, the Rust-based CLIs can also incorporate the relevant changes from the Pact Rust core.

🔨 Test Plan

🔗 Related issues/PRs

@JP-Ellis JP-Ellis self-assigned this Dec 10, 2025
Copilot AI review requested due to automatic review settings December 10, 2025 01:17
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Pact Python CLI package to version 2.5, transitioning from Ruby-based CLIs to newer Rust-based CLIs from the pact-standalone repository. The Ruby CLIs are marked as deprecated but remain functional for backward compatibility.

Key changes:

  • Added new Rust-based CLI executables (pact_mock_server_cli, pact_verifier_cli, pact-stub-server)
  • Deprecated legacy Ruby-based CLIs with deprecation warnings
  • Updated repository references from pact-ruby-standalone to pact-standalone

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
pact-python-cli/src/pact_cli/init.py Added new CLI paths, deprecation warnings for legacy binaries, and updated os.execv to os.execve for environment variable support
pact-python-cli/pyproject.toml Registered new CLI entry points for Rust-based executables
pact-python-cli/tests/test_init.py Updated tests to include new executables and changed mock targets from os.execv to os.execve
pact-python-cli/README.md Updated repository links from pact-ruby-standalone to pact-standalone
pact-python-cli/CHANGELOG.md Updated repository links from pact-ruby-standalone to pact-standalone
pact-python-cli/cliff.toml Updated repository links from pact-ruby-standalone to pact-standalone

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@JP-Ellis JP-Ellis force-pushed the feat/update-cli-2.5 branch from 87ec050 to f8f457b Compare December 10, 2025 01:19
Starting with 2.5, the Pact Standalone repo contains a number of
Rust-based CLIs to replace the (now legacy) Ruby CLIs.

Signed-off-by: JP-Ellis <josh@jpellis.me>
@JP-Ellis JP-Ellis force-pushed the feat/update-cli-2.5 branch from f8f457b to 7ca5c3c Compare December 10, 2025 02:52
@JP-Ellis JP-Ellis merged commit f4f909a into main Dec 10, 2025
41 of 57 checks passed
@JP-Ellis JP-Ellis deleted the feat/update-cli-2.5 branch December 10, 2025 02:59
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.

2 participants