Replies: 3 comments 5 replies
-
I think the scenario you described for a feature branch of the provider actually makes sense to cover 👍 I'm concerned about the main branch pipeline. Do I get this diagram right? https://docs.pact.io/pact_nirvana/step_4CI/CD pipeline includes Another scenario I see problematic: we have a WIP tag of the consumer which was successfully verified and selected so it became WIP but no longer pending. What if the consumer contract is changed and provider is no longer satisfying the requirements? Would such WIP consumer tag break all the verifications or switch back to pending? |
Beta Was this translation helpful? Give feedback.
-
It's a tough choice because you have the option of making the pending calculation more complicated or keeping it simple but putting the onus on the provider team to notice when things are failing or to fix their build after they merge a regression.
To overcome this I think the pending state would have to be reset to true if the provider was verifying on a new tag - as in the change to pending=false would be scoped to just the tag (the feature branch) the provider was verifying from. We don't currently "use" the provider tags (tbh I'm not 100% on what they're used for) we always have it set to our main branch, but this would mean we need to start setting it correctly, locally and on PR builds. |
Beta Was this translation helpful? Give feedback.
-
The failing of the build would be gated by tag when provider tags are used, correct? In other words, if the consumer and provider are both using tag |
Beta Was this translation helpful? Give feedback.
-
Current flow/problem
Proposal - the pending state for WIP pacts should be dynamically calculated, not hardcoded to true, so that you can't accidentally make a regression to a passing WIP pact. The impact of this would be that WIP pacts could now fail the build (where as currently they can't).
Discuss!
Beta Was this translation helpful? Give feedback.
All reactions