Beth (pactflow.io/Pact Broker/pact-ruby)
pactfoundation/pact-broker
Docker image from alpine3.13
to alpine3.15
This means that Docker 19 is no longer supported for the pactfoundation/pact-broker
Docker image, as alpine3.14+ requires Docker 20 or later. There were too many vulnerabilities in alpine3.13 to continue using it, and it was well overdue for an upgrade.Harry
07/01/2022, 3:20 PMRubén Pérez
07/04/2022, 1:11 PMcontract_content_changed
event), and I was working on a consumer & provider sample repos.
What is happening right now is that once the contract changes, the Webhook gets executed and makes a request to our internal CI tool, which runs the provider verification.
Once that happens, the provider contract tests pass and the verification result is published. The issue I have is that, even the verification passed and the UI shows it green
, we still see red
on the Webhook status column (screenshot attached). If I go in to try to see what happened, I see that shows two webhook executions: one from a few days ago (that failed) and one from today (that succeeded). I have also attached an screenshot showing it.
To me it looks like somehow it keeps showing an earlier webhook execution that failed, and I can't get "rid of it". Could you help me understand what's happening?Ben Pilgrim
07/06/2022, 4:26 PMBillal
07/12/2022, 1:01 PMNo pacts were found for the consumer versions selected
- This is totally fine however, the job still passes. Is there a way to make it fail in such cases?Jeroen Lamain
07/13/2022, 8:50 AMJeroen Lamain
07/13/2022, 8:52 AMLorenz Ammon
07/14/2022, 9:01 AMAbdurahman Hijazi
07/14/2022, 3:46 PMĂdouard Lopez
07/22/2022, 7:38 AMJohn Ed Alvinez
07/25/2022, 2:53 AM/pacts/provider/{provider}/for-verification
) with this body
{
"consumerVersionSelectors": [],
"includePendingStatus": false
}
what default consumer version selectors does the pact broker use in this scenario if i didn't set it? is it below based on what i can deduce from the pacts it fetched for verification? thanks for your help! đ
{
"consumerVersionSelectors": [
{
"mainBranch": true
},
{
"deployedOrReleased": true
}
]
}
tried looking at the docs but could only find the recommended values for consumer version selectors. tried looking at the code too but couldn't find my answer (or i'm just a ruby noob) đ
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...Shan
07/27/2022, 8:35 PMdescribe-pacticipant
to double check if the main branch is configured but getting a "`Could not find command 'describe-pacticipant'`" . When I do a describe-version with similar parameters I works perfectly! Any thoughts?
docker run --rm \
pactfoundation/pact-cli:latest \
broker describe-pacticipant \
--name my-pacticipant \
--broker-base-url <https://my_broker_base_url.com> \
--broker-username my_user \
--broker-password my_password
Resulting -> Could not find command "describe-pacticipant".
Shan
07/29/2022, 5:09 AMcontract_requiring_verification_published
event. The doc, stated that
"A webhook using the contract_requiring_verification_published
should be configured to pass through the ${pactbroker.pactUrl}
and ${pactbroker.providerVersionNumber}
and ${pactbroker.providerVersionBranch}
to the provider verification build."
I assume we need to pass version number (assume it is git SHA) so that we can checkout that GIT version before verifying the pact
My questions is why do we need to pass pactUrl
and providerVersionBranch
& and how that can be useful?json
07/29/2022, 5:45 PMDmitry Munda
08/01/2022, 7:24 PM{deleted=>{pact_publications=>0, :verification_results=>28, :pact_versions=>0, :triggered_webhooks=>0}, kept=>{pact_publications=>11244, :verification_results=>25401, :pact_versions=>31, :triggered_webhooks=>0}}
Ădouard Lopez
08/03/2022, 12:54 PMShan
08/03/2022, 7:20 PMcontract_requiring_verification_published
webhook event.
In my provider's main pipeline I used tags to pull contracts like -Ppactbroker.tags='master, dev, prod'
, since I changed to contract_requiring_verification_published
, do I still have to use same approach to pull contracts? What is the recommended approach?Adam Witko
08/04/2022, 8:04 AM{"error":{"message":"An error has occurred. The details have been logged with the reference DrCxVPsPSd","reference":"DrCxVPsPSd"}}
but I canât seem to find how I get to these via the API. Can anyone help?Shan
08/05/2022, 4:22 AMmaster
, deployed
and released
for consumer_version_selectors
.
Am I getting all right here?
{"branch": "master"}
->assume we configure master as our main branch then we pull the latest version of master
assume there is only one dev environment for testing, and for a given application instance,
{"deployed":true}
-> this will pull the the pact from dev environments and we don't have to worry about latest because the record-deployment
command automatically marks any application version that was deployed to the same application instance as undeployed, which guarantees that we will have just one version of the pact.
For a given application instance,
{"released":true}
-> this will fetch all pacts which is in prod it can be more than one version.Shan
08/09/2022, 4:59 PMfeature branch
to merge to master
if pre-verification fails?
Because can-i-deploy
command is to check whether a code can be deployed to a specific env (dev, test, prod and etc
..) or not. Which means a non-verified contract
can be merged to master
there is no check to enforce that. Should we check with can-i-deploy
command before the code get merged to master
?Alison Stuart
08/09/2022, 8:47 PMAdam Witko
08/10/2022, 2:34 PMJohn Ed Alvinez
08/11/2022, 10:22 AMmainBranch
for that consumer is set to main
đ
https://github.com/pact-foundation/pact_broker/blob/master/lib/pact_broker/pacts/pacts_for_verification_repository.rb#L151-L152
i was expecting that would return false so this line of code is executed instead which would fetch the latest pact for that consumer, but i guess i was wrong. đ
https://github.com/pact-foundation/pact_broker/blob/master/lib/pact_broker/pacts/pacts_for_verification_repository.rb#L156Sandy
08/12/2022, 5:04 PMPG:: Connection Bad: GSSAPI Authentication not supported
. Is GSSAPI not supported?Shan
08/15/2022, 7:05 PMpact broker
or pactflow
failures (down for maintenance) what would happen when someone publishes, verifies or executes can-i-deploy commands? Does that build fail?TL Z
08/12/2022, 9:18 PMAyush
08/17/2022, 10:31 AMMustafa Siyaj
08/18/2022, 10:10 PMAuthorization
header. We are using the pact-broker container.Gustavs
08/19/2022, 10:58 AM