Hi, I have this problem several times now so I wa...
# pactflow
r
Hi, I have this problem several times now so I want to bring it up. I have a pact with a provider and a consumer, most of them use pact-jvm. We have a CI running which publishes the pacts or the verification results from a branch as pending pacts and then we have the can I deploy question towards the DEV/PROD stage. This works really well as we also work with webhooks and so the pending pacts get verified automatically. But sometimes we run into the problem that a pending pact does NOT get verified. I rerun and rerun and only once I actually delete the pacts from pactflow and publish them again they get verified. Now I have another situation, where I have a service that is a consumer and on top a provider. The logs show that it was verifying the pact from DEV stage and also logs that it published a verification result. But when I look into pactflow that branch is still not verified and the
can I deploy
step also shows a missing verification
Copy code
Computer says no ¯\_(ツ)_/¯

CONSUMER                              | C.VERSION           | PROVIDER                       | P.VERSION           | SUCCESS? | RESULT#
--------------------------------------|---------------------|--------------------------------|---------------------|----------|--------
Ratenkredit-Service-Template          | cd4f035...          | Partnermanagement-Kontaktdaten | 2024.12.02.10.35.40 | true     | 1      
Ratenkredit-Service-Template-External | 2024-12-02T18-24-47 | Ratenkredit-Service-Template   | ???                 | ???      |
Any idea what we are doing wrong? Happy to give more insides if needed
m
may I ask, what Webhook event are you using? Can I also ask what is being passed into the
can-i-deploy
step? I think you’re
DEV
is an environment, so perhaps
can-i-deploy Ratenkredit-Service-Template --version cd4f035... --to-environment DEV
type thing? Can I also assume that you are using the same version number when verifying as the provider? Usually these gaps occur because: 1. The webhook is being fired, but you’re not reviewing the payload and checking out the specific version that needs to do the verifying (e.g. just the
main
branch is checked out to verify the pact, but the payload for
contract_requiring_verification
specifies which version of the provider should do the verification a. Solution there is mentioned 2. The version of the application changes after merging, and they no longer line up a. solution is to always re-publish with new versions (or re-verify) 3. The provider verification job isn’t collecting all of the versions to verify a. The solution is to use wip and pending pacts (sounds like you are)
r
I have fixed this problem now, but I have the problem regularly that a pending pact is just not getting verified, no matter how often I trigger a reverification
m
How are you triggering a “reverification”? Do you know if it triggers a verification job (via webhook)? If you had a specific pact you expect to be verified we can always do a lookup to provide the reasons why it’s not being included in the fetch.
r
ok, then I will ping you once I have this situation again