feat: add support for contract_requiring_verification_published webhook #476
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Implements the feature discussed in #434
When a pact is published, a webhook with the new event
contract_requiring_verification_published
is triggered for:The provider versions are de-duplicated (eg. if the same version is the latest from the main branch, and a deployed/released version, only one triggered webhook is created).
*
%
$
$
$
*
*
*
When the provider changes, these combinations are tested in the provider's release pipeline via the consumer version selectors%
When the consumer (pact) changes, this combination is tested via the provider verification triggered by thecontract_content_changed
webhook. Note that it is missing the test and prod combinations.$
When the consumer (pact) changes, these combinations are tested via the provider verifications triggered by the newcontract_requiring_verification_published
webhook. Note that it is the exact inverse of the combinations tested by in the provider's release pipeline.The addition of the
contract_requiring_verification_published
event means use of thecontract_content_changed
webhook will no longer be recommend (but it will continue to be supported). It solves the following problems:contract_content_changed
does not map 100% to "we need to trigger a verification build". Sometimes we unnecessarily trigger a build, and sometimes there are builds that we should trigger that we don't.contract_content_changed
are unnecessarily triggered when tags are applied to existing content.