Rubén Pérez
07/26/2022, 6:57 AMcontract_content_changed
event) gets executed way too many times from what we would expect. I was trying to debug what is going on looking at this, and what we see is that this is the message that I see constantly: "Scheduling job for webhook with uuid ap7c1tk-AdEYyphWBVieIg"
. But it looks like the contract should have not changed, so I'm clearly missing something.
Is there any way to actually see what are the 2 versions of the contract the Broker is comparing to understand what is going on?
Also, as far as I've seen in the documentation, this could also explain what is happening:
If the relevant consumer version has any tags, then for each tag, check if the content is different from the previous latest version for that tag. It is 'changed' if any of the checks are true. One side effect of this is that brand new tags will trigger a pact changed event, even if the content is the same as a previous version.But all the versions published are tagging with
master
, so I'm not sure if there is anything else I should be looking at...Timothy Jones
07/27/2022, 5:18 AMRubén Pérez
07/27/2022, 9:53 AMMatt (pactflow.io / pact-js / pact-go)
Rubén Pérez
07/27/2022, 10:21 AM<http://my-pact-broker.com/pacts/provider/myProvider/consumer/myConsumer/versions>
Timothy Jones
07/27/2022, 10:24 AMRubén Pérez
07/27/2022, 10:30 AMTimothy Jones
07/27/2022, 10:32 AMBeth (pactflow.io/Pact Broker/pact-ruby)
Rubén Pérez
07/29/2022, 7:30 AMScheduling job for webhook with uuid ap7c1tk-AdEYyphWBVieIgWhich looks like just a "contract change" to me. But the consumer team told me that they didn't change anything for some time, but still the provider tests got triggered between 10 and 20 times per day. I just needed some help to try to see how the contract was actually changing... And you all helped me. For the record, I was able to see the changes and understand what was happening. In this case, the consumer tests were using
form-data
, which uses a boundary
field internally. That field was created randomly for every test execution, and that was the "change" introduced in every single CI consumer build.Matt (pactflow.io / pact-js / pact-go)
And you all helped me. For the record, I was able to see the changes and understand what was happening. In this case, the consumer tests were usinggood pickup! That’ll do it, which uses aform-data
field internally. That field was created randomly for every test execution, and that was the “change” introduced in every single CI consumer build.boundary
Rubén Pérez
07/29/2022, 7:31 AMalso, you would be better to use the new webhook “contract requiring verification published”I know, but I have not been able to get into it yet 😅