pact_broker icon indicating copy to clipboard operation
pact_broker copied to clipboard

Recommended vs default selectors

Open mefellows opened this issue 1 year ago • 2 comments

The current default selectors of the broker seem to be:

  1. latest version on the main branch
  2. all versions that have been deployed
  3. all versions that are currently marked as released.

However, the current recommended selectors are

These are the recommended selectors that will cover the majority of workflows.

- `{ "mainBranch": true }` - the latest version from the main branch of each consumer, as specified by the consumer's `mainBranch` property.
- `{ "branch": "<branch>" }` - the latest version from a particular branch of each consumer.
- `{ "deployedOrReleased": true }` - all the currently deployed and currently released and supported versions of each consumer.
- `{ "matchingBranch": true }` - the latest version from any branch of the consumer that has the same name as the current branch of the provider. Used for coordinated development between consumer and provider teams using matching feature branch names.

The lack of branch in the default makes sense (needs the branch to be supplied) but matchingBranch seems like it could be inferred if the provider specifies it.

It would make sense for the recommended selectors to be the default, so most users can point at the broker and have a functional workflow without additional work. This would also simplify the docs.

mefellows avatar Jul 22 '24 05:07 mefellows