DiUS/pact-consumer-swift

Add support for publishing verification results with a branch using the pact-ruby-standalone

bethesque opened this issue · 4 comments

The Pact Broker now supports branches as first class entities. You can read more about this here: https://github.com/pact-foundation/docs.pact.io/blob/feat/deployments-and-releases/website/blog/2021-07-04-why-we-are-getting-rid-of-tags.md

To allow users to use this feature:

  • Upgrade the pact-ruby-standalone to at least version 1.88.70
  • Add an appropriately prefixed "branch" property to the user facing interface (make it match the existing provider name, tag, and version properties)
  • Pass the branch through to the pact provider verifier CLI using the parameter --provider-version-branch

This will fit into Scheme setup in Xcode under Post-actions.
Before running pact-mock-service stop one should set up the CLI command (or as part of a script) for the --provider-version-branch and pass the branch most likely defined as an env var.

PactConsumerSwift will most likely not expose such an interface due to the way Xcode handles tests and we can not (or at least easily) control pact-ruby-standalone during test runs.

So, are you saying people can use it already, because they're using the standalone directly?

Not sure if users are using it already. But what pact-consumer-swift does is only handling the consumer side of Pact by making 4 distinct network requests to DELETE, PUT, GET and POST on /, /interactions, /interactions/verification and /pact (in whatever combination it needs to be). Managing the mock server is done through scripts.

That's all that it does. Everything else is scripting outside of pact-consumer-swift. And no provider verification support through this framework.

Oh, of course. Consumer only. I'll close this.