abubics
2017-04-26 01:15
has joined #verifications

matt
2017-04-26 01:15
has joined #verifications

abubics
2017-04-26 01:15
inb4

trenthornibrook
2017-04-26 01:20
has joined #verifications

trenthornibrook
2017-04-26 01:20
:thumbsup:


matt
2017-04-26 01:20
Let us know when is a good time to potentially disrupt you :slightly_smiling_face:

trenthornibrook
2017-04-26 01:21
whats the rough duration to change @matt

abubics
2017-04-26 01:21
the sooner the better xD

matt
2017-04-26 01:22
Should be basically instantaneous

matt
2017-04-26 01:25
That being said, I need to do a bit of work first before we can make it available to you (the change is on the OSS docker container, not the hosted one)

matt
2017-04-26 01:25
so maybe this afternoon I can make it available to you (it won?t have auth by default, which I assume is a desirable thing for you!)

abubics
2017-04-26 01:26
no auth sounds perfect ;D


abubics
2017-04-26 01:27
> it won?t have auth [?], which I assume is a desirable thing Just reads a little ambiguous :stuck_out_tongue:

matt
2017-04-26 01:27
true that

matt
2017-04-26 01:27
I _assume_ auth _is_ desirable

trenthornibrook
2017-04-26 01:31
yea - I?ll need to keep the auth. Its mandatory to prevent leakage

travi
2017-04-26 01:31
has joined #verifications

willmadison
2017-04-26 01:34
has joined #verifications

trenthornibrook
2017-04-26 03:37
If its less than 5 minutes to cut over and as long as the authentication is the same - I?d be happy to do it anytime.

beth
2017-04-26 05:12
So, I need to do a beta release of the gem first.

beth
2017-04-26 05:12
@trenthornibrook what tech are you using? We need to add some methods to the client tools to make publishing the verifications easier.

abe
2017-04-26 07:15
has joined #verifications


abe
2017-04-26 07:15
what version of pact do we need to levi this feature?

abe
2017-04-26 07:16
we are using 2.0 Go and JS

beth
2017-04-26 07:23
Are you using some client code to fetch the pact, or just making your own HTTP call to the broker?

beth
2017-04-26 07:24
You can use any version of pact with it, as it's an upgrade to the broker. I haven't made any nice client tools yet to auto publish the results to the broker, but if you can describe your setup for me, I can make that happen, or throw together a command line tool.

marcevers
2017-04-26 07:50
has joined #verifications

abe
2017-04-26 08:34
the provider uses go code to pull the pacts and validate them locally

abe
2017-04-26 08:34
we can easily upload those results i just need to know what format those results need to be in

matt
2017-04-26 08:35
Sorry @trenthornibrook - my mistake with the deploy, I got my wires crossed with Beth on another change. I?ll tap you on the shoulder when we can push it up!

matt
2017-04-26 08:35
thanks @abe!

abe
2017-04-26 08:36
would also be good to confirm that while we are working on the new process the default functionality will continue to work as is

abe
2017-04-26 08:36
thanks :slightly_smiling_face:

matt
2017-04-26 09:07
We?ll certainly run some sanity checks before we do (I have a Go + JS project on the go at the moment so I can upgrade it before we roll to others)

shahzadahmad
2017-04-26 09:26
has joined #verifications

shahzadahmad
2017-04-26 09:43
@shahzadahmad has left the channel

trenthornibrook
2017-04-26 22:04
java - groovy

beth
2017-04-26 23:06
@abe, yeah, no changes to anything else.

beth
2017-04-26 23:16
The documentation for the new endpoint is here: https://github.com/bethesque/pact_broker/blob/verifications/lib/pact_broker/doc/views/publish-verification.markdown Sorry for the delay, I thought it was ready to go, but I've bumped in to a bizarre sequel gem issue that has me wading knee deep through source code.



beth
2017-04-26 23:18
It's what shows up in the HAL browser when you click on the documentation link for a link relation.


matt
2017-04-26 23:18
that makes sense

beth
2017-04-26 23:18
Built in docs.

beth
2017-04-27 00:41
Righto. Should be easy then.

abe
2017-04-27 07:19
please let know how to sign up looks usfull

beth
2017-05-01 04:48
Hey @rholshausen, can you add the client code to the go lib to publish verifications as per: https://github.com/bethesque/pact_broker/blob/verifications/lib/pact_broker/doc/views/publish-verification.markdown

rholshausen
2017-05-01 04:48
has joined #verifications

beth
2017-05-01 04:51
I'm adding code into the ruby version in an after hook. Logic is -> if pb:publish-verification link is present in the pact, and the provider version is set in the verification configuration, the publish the success status and provider version number to the given URL.

abubics
2017-05-01 04:51
so, all automatic? no user code changes? :smile:


beth
2017-05-01 04:52
apart from adding a provider version

beth
2017-05-01 04:52
so, yes.

beth
2017-05-01 04:52
upgrade library, add provider version to config.

abubics
2017-05-01 04:52
config change ;D awesome


beth
2017-05-01 22:30
Just realised we need some flag to stop the verifications being published when in dev!

matt
2017-05-01 22:39
Ah yes!

beth
2017-05-02 02:21
## Publishing verification results to a pact broker If you are using version 1.11.0 or later of the pact gem and 2.0.0 or later of the pact broker, you can automatically publish the results of pact verifications back to the broker by setting the `app_version` and `publish_verification_results` options in your service provider configuration. The recommended way to do this so that you only publish verifications from your CI is: ```ruby build_number = ENV.fetch('BUILD_NUMBER','alpha') publish = !!ENV['BUILD_NUMBER'] Pact.service_provider "My Service Provider" do app_version "1.3.#{build_number}" publish_verification_results publish end ``` If your pact URL includes basic auth configurations for the pact broker, these will be used to publish the verification.



matt
2017-05-12 05:45
@abe Great news - if you?re interested in opting in to an early release of the verifications feature, let me know and we?ll upgrade your broker!

matt
2017-05-12 05:46
Both JS and Go (and Ruby) support this feature and have releases (v2.4.1 and 0.0.5 respectively) to support it

matt
2017-05-12 05:46
JVM is also not far behind

abe
2017-05-12 07:05
@matt i talked it through with the team when u originally mentioned it and they seemed keen as long as it continues to work as is till we get the time to run the new scripts


abubics
2017-05-12 07:23
waits patiently for @rholshausen to build the JVM version

matt
2017-05-12 07:24
The JS and Go tooling should provide you with the automatic verification publishing aspect, and then you could use a simple `cURL` to an endpoint to query the status

matt
2017-05-12 07:35
Your instance has been upgrade (and I?ve a backup of your DB).

matt
2017-05-12 07:35
go forth and Verify! :tada:

matt
2017-05-16 12:46
How?s everyone going with their verifications instances?

abubics
2017-05-17 00:40
(haven?t touched it :P)

beth
2017-05-24 04:08
@abe I'm interested to hear when you start using the verification publishing feature.

abe
2017-05-24 07:14
will probably be another little while before we start but will most assuredly keep you in the loop

matt
2017-05-24 07:15
thanks!

matt
2017-05-24 07:15
Don?t forget, from a tooling perspective it?s just a new flag in your tests when setting up the broker bits:

matt
2017-05-24 07:15
i.e. in Go, just add the following to the `dsl.Pact` struct: ``` PublishVerificationResults: true, ProviderVersion: "1.0.0", ```

matt
2017-05-24 07:16
in JS, ``` publishVerificationResult: true, providerVersion: "1.0.0", provider: "Foo", ```

matt
2017-05-24 07:16
easy peasy!

tjones
2017-09-05 06:09
has joined #verifications

mzacharska
2017-10-03 21:26
has joined #verifications

fkoner
2017-11-15 16:11
has joined #verifications

matt
2017-11-29 02:52
has joined #verifications

m.groeneweg
2018-01-11 08:22
has joined #verifications

beth
2018-06-15 02:25
has joined #verifications

abubics
2018-06-15 02:28
has joined #verifications

matt
2018-06-15 02:28
has joined #verifications

trenthornibrook
2018-06-15 02:28
has joined #verifications

travi
2018-06-15 02:28
has joined #verifications

willmadison
2018-06-15 02:28
has joined #verifications

abe
2018-06-15 02:28
has joined #verifications

marcevers
2018-06-15 02:28
has joined #verifications

shahzadahmad
2018-06-15 02:28
has joined #verifications

rholshausen
2018-06-15 02:28
has joined #verifications

tjones
2018-06-15 02:28
has joined #verifications

mzacharska
2018-06-15 02:28
has joined #verifications

fkoner
2018-06-15 02:28
has joined #verifications

m.groeneweg
2018-06-15 02:28
has joined #verifications

matt.fellows
2018-06-15 03:49
has joined #verifications

santoshtrip
2018-06-26 01:20
has joined #verifications

antonello
2018-07-30 14:27
has joined #verifications

antonello
2018-07-30 14:28
Where can I read about verifications?


antonello
2018-07-31 07:18
thanks!

sgarvey
2018-08-06 11:24
has joined #verifications

tcanascimento
2018-08-07 14:29
has joined #verifications

conallbennett
2018-08-07 22:13
has joined #verifications

antonios.klimis
2018-08-08 09:46
has joined #verifications

komalahluwalia06
2018-08-23 07:23
has joined #verifications

mattgilbert90
2018-09-10 12:53
has joined #verifications

anothonyvong
2018-11-01 21:37
has joined #verifications

jeffm
2018-11-02 22:46
has joined #verifications

kurst03
2018-11-18 00:52
has joined #verifications

ruben.perezg
2018-12-12 13:35
has joined #verifications

mcon
2018-12-13 08:30
has joined #verifications

thomas.scheuchzer
2019-01-05 10:19
has joined #verifications

borsuk.artem034
2019-05-28 14:12
has joined #verifications

antonello
2019-06-06 21:28
@antonello has left the channel

n.chachampis
2019-06-11 06:50
has joined #verifications

enrique
2019-06-12 15:16
has joined #verifications

agarwalatrisha1212
2019-06-18 03:18
has joined #verifications

aniela.cole
2019-06-20 17:09
has joined #verifications

joao
2019-08-29 13:34
has joined #verifications

rootuid
2019-10-08 15:21
has joined #verifications

rbhati
2019-12-10 22:28
has joined #verifications

antonello
2019-12-16 11:17
has joined #verifications

jemma.wells
2020-02-03 11:37
has joined #verifications

lbraymusso
2020-04-02 05:42
has joined #verifications

lbraymusso
2020-04-02 05:42
@lbraymusso has left the channel

fafa029
2020-04-25 05:01
has joined #verifications

a.smith
2020-05-07 08:19
has joined #verifications

robert.zimmermann
2020-06-08 16:16
has joined #verifications

suma.papanna
2020-06-25 10:58
has joined #verifications

ag.robinson
2020-06-27 15:41
has joined #verifications

michael
2020-07-06 12:21
has joined #verifications

michael
2020-07-06 12:23
Hello everyone, I'm a developer at MHP Germany and we would like to test the new pending pacts feature. Can someone tell me, how we could enable that feature?

matt.fellows
2020-07-06 23:24
:wave:



matt.fellows
2020-07-06 23:24
The latter tells you how to enable it on your broker (if not using http://pactflow.io)

matt.fellows
2020-07-06 23:24
what language are you interested in?

paul.stitt
2020-07-23 09:26
has joined #verifications

daniel.pritchard
2020-07-30 15:40
has joined #verifications

alex.elmekeev
2020-08-21 16:34
has joined #verifications

alex.elmekeev
2020-08-21 16:34
:wave: I'm working on some PoC for Pact and just learned about pending contracts feature. But I'm a bit stuck on how to enable this feature with pact-ruby. This is what we have right now: ``` honours_pacts_from_pact_broker do pact_broker_base_url ENV.fetch('PACT_BROKER_URL'), username: ENV.fetch('PACT_BROKER_USERNAME'), password: ENV.fetch('PACT_BROKER_PASSWORD')``` I've failed to find in documentation the way to set `enablePending` to true for ruby. Same for WIP contracts.


alex.elmekeev
2020-08-21 17:05
And one more question - will missing state still fail the task (`Could not find one or more provider states.`) with enabled pending and wip contracts? (I hope no :pray: )

tjones
2020-08-24 05:40
You need to enable it on the broker:



alecgerona
2020-08-24 07:30
has joined #verifications

heytaco
2020-08-25 03:57
has joined #verifications

heytaco
2020-08-25 03:57
Hi there! My name is HeyTaco!, and you can use me to give people tacos to show your appreciation. My tacos will spread joy through Slack!

robert.strehli
2020-08-27 14:40
has joined #verifications

alex.elmekeev
2020-09-01 13:30
@tjones thank you for your reply. I was on roadtrip so wasn't able to answer earlier. Pending pacts are enabled on the broker already and we use them with pact-jvm. So from the documentation you've shared: ? You need to either be using http://pactflow.io, or have the latest version of the OSS Pact Broker running with the environment variable `PACT_BROKER_FEATURES=pacts_for_verification` :white_check_mark: ? You need to be on the latest version of the Pact client library for JVM, Javascript, Go, Ruby, .Net or Python (pact-python, not pactman) :white_check_mark: ? You need to find the verification documentation for your langage, and set the "enablePending" flag to true. :question: my question is how to do the latest for ruby?

carlos.silva
2020-09-02 15:07
has joined #verifications

alex.elmekeev
2020-09-04 08:29
just to follow up on :point_up: I'm still a bit stuck on how to enable pending contracts feature with pact-ruby

alex.elmekeev
2020-09-04 08:29
just to follow up on :point_up: I'm still a bit stuck on how to enable pending contracts feature with pact-ruby

matt.fellows
2020-09-04 10:53
Sorry Alex. Beth may be able to answer tomorrow I think she'll be around

maciej.olko
2020-09-04 14:53
has joined #verifications

alex.elmekeev
2020-09-09 14:48
@bethskurrie :wave: Matt has mentioned that this is probably something you can help me with :pray:

bethskurrie
2020-09-09 14:48
has joined #verifications

copalco
2020-09-10 12:54
has joined #verifications


tyler.collins
2020-09-10 21:54
has joined #verifications

maciej.olko
2020-09-11 09:32
Hi, is it possible to remove a verification from Pact broker?

bethskurrie
2020-09-11 09:32
Yes. Send a DELETE to the URL.


maciej.olko
2020-09-11 09:32
Thanks!

maciej.olko
2020-09-11 09:32
@bethskurrie :taco: :slightly_smiling_face:

bethskurrie
2020-09-11 09:32
Usually you just publish another one, and that one is effectively ignored.

bethskurrie
2020-09-11 09:33
It uses the latest verification by time, so anything except the latest may as well be deleted.

maciej.olko
2020-09-11 09:34
> Usually you just publish another one, and that one is effectively ignored. Sure, but in case of unintentionally loosing pending flag I guess deletion comes with help.

bethskurrie
2020-09-11 09:34
Ah, I see.

bethskurrie
2020-09-11 09:34
Can you tell me more about that?

bethskurrie
2020-09-11 09:34
Why do you want it to go back to pending?

alex.elmekeev
2020-09-11 09:35
:wave: Could you please advise with the way to debug situation when tests are passing per CI but verification is marked as failed in pact broker?

maciej.olko
2020-09-11 09:35
We?ve verified a new contract version on a branch, before merging to master. And it start causing failures on master.

bethskurrie
2020-09-11 09:35
Have you got pending pacts enabled?

alex.elmekeev
2020-09-11 09:35
yes

alex.elmekeev
2020-09-11 09:35
```VerifyConsumerContractsBroker > Pact between consumer-api (0.53.0) and appointments - a request to cancel appointment with ID 12345 with Reason ID 123 [PENDING] PASSED```

maciej.olko
2020-09-11 09:36
I guess we should set tags for verification on branches.

bethskurrie
2020-09-11 09:36
It's still failed in the broker, it's just that CI passes.

alex.elmekeev
2020-09-11 09:36
```{ "providerName": "appointments", "providerApplicationVersion": "3a68822a840528e20551f22cda43ada725e3df0d", "success": false, "verificationDate": "2020-09-11T00:33:13+00:00", "testResults": [{ "interactionId": "1050e8baa1e640c3c7fed40061d94aaa89925aa9", "success": false, "mismatches": [{ "attribute": "status", "description": null }] }] }```

bethskurrie
2020-09-11 09:36
It means that it's the consumer's problem, not the provider's.

bethskurrie
2020-09-11 09:36
Enabling pending doesn't make the verification result pass if it should fail. It just makes the CI not break.

alex.elmekeev
2020-09-11 09:38
```VerifyConsumerContractsBroker > Pact between consumer-api (0.53.0) and appointments - a request to cancel appointment with ID 12345 with Reason ID 123 [PENDING] STARTED WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by net.minidev.asm.DynamicClassLoader (file:/home/circleci/.gradle/caches/modules-2/files-2.1/net.minidev/accessors-smart/1.2/c592b500269bfde36096641b01238a8350f8aa31/accessors-smart-1.2.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of net.minidev.asm.DynamicClassLoader WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release VerifyConsumerContractsBroker > Pact between consumer-api (0.53.0) and appointments - a request to cancel appointment with ID 12345 with Reason ID 123 [PENDING] PASSED``` could those warnings be an indication that something has failed? Also I'm a bit confused why test is still marked as pending if it was passing before :thinking_face:

bethskurrie
2020-09-11 09:39
There should be a lot of output that explains why a pact is or is not pending.

bethskurrie
2020-09-11 09:39
Are you not seeing that?

bethskurrie
2020-09-11 09:39
What language are you using?


maciej.olko
2020-09-11 09:41
Does pact verifier publish verification results always? Even when `--publish-verification-results` flag is not set?

bethskurrie
2020-09-11 09:41
No

bethskurrie
2020-09-11 09:42
Sorry, what is this channel, and why is it not in the #pact-broker channel!?

bethskurrie
2020-09-11 09:42
I don't even know where I am!

bethskurrie
2020-09-11 09:43
> The provider tags are used to determine the pending status because it is common to implement new features of a provider on a feature branch. If the provider tags were not taken in to consideration, a newly passing verification on `feat-x` of the provider could suddenly cause the verification on branch `main` of the provider to fail.

bethskurrie
2020-09-11 09:43
Yes.

maciej.olko
2020-09-11 09:44
> Test and discuss the new beta verifications functionality in the pact broker Maybe it should be archived in favor of #pact-broker channel?

bethskurrie
2020-09-11 09:44
Yes, I think so.

bethskurrie
2020-09-11 09:44
I've got enough channels to monitor, I don't need another one!

maciej.olko
2020-09-11 09:46
For what it?s worth only workspace admins have rights to archive the channel.

bethskurrie
2020-09-11 09:47
Luckily, I'm one of those :wink:

bethskurrie
2020-09-11 09:47
I'll do it once I've wound up all the questions here

bethskurrie
2020-09-11 09:48
@alex.elmekeev in the ruby impl, there is output that comes from the API that says this:

bethskurrie
2020-09-11 09:48
```DEBUG: The pact at https://test.pact.dius.com.au/pacts/provider/Bar/consumer/Foo/pact-version/bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f is being verified because it matches the following configured selection criterion: latest pact between a consumer and Bar DEBUG: This pact is in pending state for this version of Bar because a successful verification result for Bar has not yet been published. If this verification fails, it will not cause the overall build to fail. Read more at https://pact.io/pending```

bethskurrie
2020-09-11 09:49
Can you not see that anywhere in your output?

bethskurrie
2020-09-11 09:49
Because if you can't, I need to raise an issue with the author of your library to see if we can get that added. So I need to know exactly what you're using.

alex.elmekeev
2020-09-11 11:19
Sorry was on the call. This particular one is pact-jvm. ```testImplementation group: 'au.com.dius.pact.provider', name: 'junit5', version: "4.1.7"``` I don't see any output about pending status :thinking_face: Yes I've read that article and from I understood if I have test that did pass for contract with version X for providerTag Y it should become non-pending. But I don't see this happening in our case. I'm confused even more now cause I see same contract running against 2 subsequent commits in master where one is passed and another is failed and both marked as ```This pact was "pre-verified" as it has identical content to a previously verified pact.``` I don't even understand how this is possible :thinking_face:

alex.elmekeev
2020-09-11 11:19
``` systemProperty "pactbroker.providerTags", System.getProperty("pactbroker.providerTags")``` ``` ./gradlew pactProviderTest -Dpactbroker.providerTags=$(BRANCH) -Dpact.provider.version=$(VERSION) -Dpact.verifier.publishResults=true``` ```VERSION=$(shell git rev-parse HEAD) BRANCH=$(shell git rev-parse --abbrev-ref HEAD)```

alex.elmekeev
2020-09-11 12:09
I see this for ruby: ```DEBUG: This **** is in pending state for this version of ruby because a successful verification result for a version of ruby with tag 'my tag' has not yet been published. If this verification fails, it will not cause the overall build to fail. Read more at ****s://****.io/pending``` nothing like this for jvm

bethskurrie
2020-09-11 23:00
I'll talk to Ron about it

bethskurrie
2020-09-11 23:07
@alex.elmekeev if you look at the matrix view for the integration, hover your mouse over the "pact published" column. You'll see a bunch of columns highlighted that have the same pact contents. Scroll down until you find the row with the earliest pact verification date. That'll be the first time it was successfully verified. You should be able to take the provider number and find the build for it.

bethskurrie
2020-09-11 23:49
I just checked with Ron, and he says that information about the pending status is in the stdout output. Could you have a look again? Maybe search for some of the key words.

alex.elmekeev
2020-09-14 08:26
> if you look at the matrix view for the integration, hover your mouse over the "pact published" column. You'll see a bunch of columns highlighted that have the same pact contents. Scroll down until you find the row with the earliest pact verification date. That'll be the first time it was successfully verified. You should be able to take the provider number and find the build for it. yeah, still I'm confused why I see this picture with the same version of contract, different versions of provider with "pre-verified" state. It would be good to have reference to the one that was "verified". Or probably it was just some bug cause all the builds in past two weeks no longer have this "pre-verified". > I just checked with Ron, and he says that information about the pending status is in the stdout output. Could you have a look again? Maybe search for some of the key words. Probably it's somehow related to the way I trigger gradle task but I see very few logs. Should I raise it in #pact-jvm ?

bethskurrie
2020-10-12 00:26
archived the channel