Stefan Tertan
09/13/2022, 3:50 PMpact-workshop-js
. I got the consumer, provider & Pactflow broker working together & CI setup (using Drone CI).
Most documentation mentions tags for tagging pacts & specifying which pacts to verify, however, it is suggested to use environments & releases/deployments instead of tags for newer versions.
Our usual git flow is to create feature branches, raise a PR & merge to main
. From main, we can promote (deploy) to staging or production.
I'm quite confused as to what the pipelines should look like and which pact versions to verify where.
I have configured a webhook for the contract_requiring_verification_published
event to trigger a verification pipeline for the provider.
But there is also a provider_verification_published
event; should that trigger a consumer pipeline via a Pactflow webhook too?
Also, although the webhook to trigger the provider build should only trigger on contract changes, it seems to trigger every time.
Could someone perhaps take the time to do a Zoom call with me and go over my existing setup?Matt (pactflow.io / pact-js / pact-go)
But there is also ano you shouldn’t need that, that sounds like a recipe for build loops that could go on forever 😆 (although the “contract requiring verification” should filter out duplicate contracts)event; should that trigger a consumer pipeline via a Pactflow webhook too?provider_verification_published
Matt (pactflow.io / pact-js / pact-go)
Beth (pactflow.io/Pact Broker/pact-ruby)
Beth (pactflow.io/Pact Broker/pact-ruby)
Beth (pactflow.io/Pact Broker/pact-ruby)
Beth (pactflow.io/Pact Broker/pact-ruby)
Stefan Tertan
09/15/2022, 10:03 AMfeat/10.x.x-upgrade
branch still uses tags:
//consumerVersionTag: ['master', 'prod'], //the old way of specifying which pacts to verify
consumerVersionSelectors: [{ tag: 'master', latest: true }, { deployed: true } ], // the new way of specifying which pacts to verify
I'm doing the below, but am not sure if it's correct:
consumerVersionSelectors: [
{deployed: true, environment: 'staging-uk'},
{deployed: true, environment: 'production-uk'},
],
Stefan Tertan
09/15/2022, 10:03 AMStefan Tertan
09/15/2022, 10:04 AMMatt (pactflow.io / pact-js / pact-go)
Matt (pactflow.io / pact-js / pact-go)
Stefan Tertan
09/15/2022, 10:06 AMMatt (pactflow.io / pact-js / pact-go)
Beth (pactflow.io/Pact Broker/pact-ruby)