bethskurrie
2018-03-26 04:23
has joined #pact-ruby-standalone

mboudreau
2018-03-26 04:23
has joined #pact-ruby-standalone

matt.fellows
2018-03-26 04:23
has joined #pact-ruby-standalone

marko
2018-03-26 04:23
has joined #pact-ruby-standalone

neil
2018-03-26 04:23
has joined #pact-ruby-standalone

bethskurrie
2018-03-26 04:24
I've set the default encoding for all the executables in the standalone package to UTF-8. This should quash all those encoding bugs. The latest standalone version is now 1.33.1

matt.fellows
2018-03-26 04:25
awesome - thanks Beth. I?ll run the Windows build with encodings later to see if it works

bethskurrie
2018-03-26 04:25
I've been thinking of writing a little script that will raise an issue to upgrade the standalone in all the wrapper implementations when there is a new release. Worth it?

matt.fellows
2018-03-26 04:32
I was thinking exactly the same thing

matt.fellows
2018-03-26 04:32
well, maybe not _exactly_

matt.fellows
2018-03-26 04:33
A long-term potential would be to have proper build pipelines

matt.fellows
2018-03-26 04:33
It might be possible now with Travis, I?m not sure. But if a minor/micro standalone goes out, it could trigger build of downstream projects to auto-build (if not also release)

bethskurrie
2018-03-26 04:35
I'm not sure that python/.net/... are using a full automated release process yet, but the js one probably could now/soon?

matt.fellows
2018-03-26 04:35
perhaps

matt.fellows
2018-03-26 04:36
Also, that UTF-8 fix _seems_ to have done the trick: https://ci.appveyor.com/project/mefellows/pact-go/build/240

bethskurrie
2018-03-26 04:36
Awesome

neil
2018-03-26 04:41
Yeah .net is full automated release. I just create a GH release and everything auto builds and deploys.

bethskurrie
2018-03-26 08:38
Like a shop bought one

mboudreau
2018-03-26 09:22
@neil I think beth and matt are talking about a new release for .net when a new standalone is released

neil
2018-03-26 09:27
@mboudreau Oh righto. Is that how the other libraries work?

bethskurrie
2018-03-26 10:09
No. It's all very manual at the moment.

bethskurrie
2018-03-26 10:10
It would be nice to have a release of the standalone trigger a build for each of the wrapper languages that pulled in the latest version and released automatically if the tests passed. But for now I'll just ping you here when there is one.

neil
2018-03-26 10:19
Yeah no worries. It would be great to get some more context about the changes as well, rather than just seeing there is a new release in GH.

neil
2018-03-26 10:21
So yeah, this channel is great :smile:

bethskurrie
2018-03-26 10:23
The release I just made has code to support an alpha implementation of message pact.

bethskurrie
2018-03-26 10:24
The v3 contract format reading and writing is incomplete, but the workflow is there.

bethskurrie
2018-03-27 04:00
added an integration to this channel: https://pact-foundation.slack.com/services/B9VRJ1PTJ

matthew.balvanz
2018-03-27 14:06
has joined #pact-ruby-standalone

cfmack
2018-03-28 13:12
has joined #pact-ruby-standalone

bethskurrie
2018-04-03 10:15
@matt.fellows I've released a new version of the standalone. It supports an array of providerStates but only reads the first one into the domain model. You'll need to update the incoming json message to have an array of providerStates with a name attribute.

bethskurrie
2018-04-03 10:21
``` pact-message update '{ "description": "a test mesage", "providerStates": [ { "name": "an alligator named Mary exists" } ], "content": { "name": { "contents": "Mary", "json_class": "Pact::SomethingLike" } } } ' --consumer Foo --provider Bar --pact-dir ./tmp --pact-specification-version 3.0.0 ```

bethskurrie
2018-04-03 10:21
^^ That's what the call to pact-message should look like.

bethskurrie
2018-04-03 10:22
Not sure why the windows build is failing, but this message is on the messages screen `Build execution time has reached the maximum allowed time for your plan (60 minutes).`

bethskurrie
2018-04-03 10:23
It looks like we've reached a limit and will have to wait for some time period to tick over.

bethskurrie
2018-04-03 10:25
I've found this in the docs: > Are there any build time restrictions? > All plans have maximum build job execution time of 60 minutes. I don't understand what that means though. Per what?

matt.fellows
2018-04-03 12:40
Thanks Beth, hopefully my train schedule is looking good tomorrow to update it :grimacing:

mboudreau
2018-04-03 23:18
i means the build took over 60 minutes and it timed out

mboudreau
2018-04-03 23:18
something is locking up the build from finishing

mboudreau
2018-04-03 23:18
like the process never returns

bethskurrie
2018-04-04 21:59
:thinking_face:

bethskurrie
2018-04-05 01:11
/github subscribe pact-foundation/pact-ruby-standalone commits

bethskurrie
2018-05-02 05:00
/github unsubscribe pact-foundation/pact-ruby-standalone deployments public commits

bethskurrie
2018-05-03 04:29
@cfmack @neil @matt.fellows @mboudreau @marko @andrewspinks if any of you are interested in showing the verification tests in a test framework that is native to the language instead of the rspec output, I just wanted to let you know that you can tell the verifier to output the test results in json. If your test framework allows you to dynamically create test cases (as rspec does) you could then parse this output, and use it to "report" the rspec test results in a test framework native to your language.

andrewspinks
2018-05-03 04:29
has joined #pact-ruby-standalone

bethskurrie
2018-05-03 04:31
I'm not sure if this is a thing that people would really like or not, but I wanted to let you know it was an option if you wanted to give pact verification a more native feel.

neil
2018-05-03 04:31
Definitely good to have that option!

bethskurrie
2018-05-03 04:35
The really nice feature to have would be to be able to run a single interaction using the native test suite's interface, rather than setting environment variables. That may be trickier to do however.

neil
2018-05-03 04:37
Yeah that would be cool. In .NET specifically it?s a pain because there is not one single test framework standard.

matt.fellows
2018-05-03 11:31
@bethskurrie pact-go does this now

bethskurrie
2018-05-03 11:31
Nice

matt.fellows
2018-05-03 11:32
Golang is pretty easy, because most people only use the built-in test framework, but with JS there are more test frameworks I?d need to integrate with than there are characters in this sentence

matt.fellows
2018-05-03 11:32
It?s possible, however

bethskurrie
2018-05-03 11:32
Ha

bethskurrie
2018-05-21 11:19
@mboudreau ^^ looks good

mboudreau
2018-05-30 07:14
@bethskurrie I found an issue with pact in windows, specifically when we're not escaping the -I attribute of ruby within out shell/bat files

mboudreau
2018-05-30 07:14
I've tested it locally and seems to work if I surround it in `"`


mboudreau
2018-05-30 07:20
which is kind of funny because all the shells are already doing it...

bethskurrie
2018-05-30 07:46
@mboudreau I've just tagged 1.44.2 for release. It should be out in a few minutes.

mboudreau
2018-05-30 07:46
sweet!

mboudreau
2018-05-30 13:25
@bethskurrie from the same issue as earlier, now I'm getting another issue, but this one seems to be related to URL parsing in the stub service

mboudreau
2018-05-30 13:28
I'll look more into it tomorrow for the ruby standalone

mboudreau
2018-05-31 01:13
alright, the issue is in pact-support, trying to fix it now

mboudreau
2018-05-31 01:13
I can't believe something as basic as URI can't seem to escape or parse windows paths...

mboudreau
2018-05-31 02:05
I think I fixed it, testing it further before adding PR to pact-support

mboudreau
2018-05-31 06:57
@bethskurrie all green now, could you please merge/release and do another release of the pact standalone? thanks

bethskurrie
2018-05-31 07:01
OK

bethskurrie
2018-05-31 07:02
Standalone should be out in a few mins

mboudreau
2018-05-31 07:52
I think that fixed it for windows :smile:

bethskurrie
2018-05-31 07:53
Oh Windows.

bethskurrie
2018-05-31 07:54
Strange that you had problems, because I have a Windows specific test on appveyor.

bethskurrie
2018-05-31 07:54
It passed.

mboudreau
2018-05-31 08:08
yeah, but I'm not sure if you were testing spaces in directories

mboudreau
2018-05-31 08:08
you were testing backslashes

bethskurrie
2018-05-31 08:09
Ah, right.

mboudreau
2018-05-31 08:50
might be good to add a test in there for spaces to prevent regression

mboudreau
2018-05-31 09:30
I've added some to pact-node


bethskurrie
2018-06-01 00:14
Done

matt
2018-06-11 01:40
has joined #pact-ruby-standalone

mboudreau
2018-07-04 04:09
god damnit, I had just released a new version of pact with 1.47.1!

matt.fellows
2018-07-04 04:57
:smile:

bethskurrie
2018-07-04 04:58
Script it.

mboudreau
2018-07-04 05:02
probably could with a git webhook, but that means having write access to the github repo

bethskurrie
2018-07-04 05:03
I mean, just have a script that you can run locally that updates the number and runs the tests and commits.

bethskurrie
2018-07-04 05:03
I have release scripts for all my repos.

bethskurrie
2018-07-04 05:04
They automatically bump the version, generate the changelog and tag.

bethskurrie
2018-07-04 05:04
A release is out in seconds.

mboudreau
2018-07-04 05:05
oh, don't get me wrong, my release process is seconds as well, just need to update the pact-standalone number, increment version and tag it with a message

mboudreau
2018-07-04 05:05
it's a non-issue really, I just found it annoying that I had literally just deployed and boom, new version just came out :stuck_out_tongue:

bethskurrie
2018-07-04 05:09
Another day, another version :wink:

matt.fellows
2018-07-11 21:15
@bethskurrie the mock service does seem to log some things to stderr which doesn?t seem correct

matt.fellows
2018-07-11 21:15
run this: ``` pact-mock-service -p 1234 2> /tmp/stderror 1> /tmp/stdout cat /tmp/stderror # you should see stuff cat /tmp/stdout # you shouldn't see anything yet ```

matt.fellows
2018-07-11 21:19
I can raise e a bug against the mock server a bit later today

bethskurrie
2018-07-11 21:21
Interesting. I'm not sure if I can fix that or not, as it's the Webrick startup doing that. I'll have a go though.

ashish.dubey91
2018-09-02 12:55
has joined #pact-ruby-standalone

nihei.dev
2018-11-12 09:45
has joined #pact-ruby-standalone

kurst03
2018-11-18 00:53
has joined #pact-ruby-standalone

pravera
2019-01-23 14:00
has joined #pact-ruby-standalone

vitaliy.grigoruk
2019-01-31 08:40
has joined #pact-ruby-standalone

davidjgmendes
2019-03-19 13:53
has joined #pact-ruby-standalone

bart.schotten
2019-03-25 13:28
has joined #pact-ruby-standalone

franklin.huynh
2019-04-01 03:21
has joined #pact-ruby-standalone

qatrera
2019-04-02 13:56
has joined #pact-ruby-standalone

joelbyler
2019-04-25 19:56
has joined #pact-ruby-standalone

marko.justinek
2019-05-06 00:25
has joined #pact-ruby-standalone

sankalan13
2019-05-23 05:21
has joined #pact-ruby-standalone

franklin.huynh
2019-06-06 01:19
Morning @bethskurrie @matt.fellows can I have a question. I see that we have a --retry-while-unknown argument in can-i-deploy. I wonder do we have it for pact-broker as well

bethskurrie
2019-06-06 01:19
pact-broker what?

bethskurrie
2019-06-06 01:21
can you give an example @franklin.huynh?

franklin.huynh
2019-06-06 01:22
I mean pact-broker publish, pact-broker create-version-tag @bethskurrie

bethskurrie
2019-06-06 01:23
and what would you retry on?

franklin.huynh
2019-06-06 01:23
a bit of context, yesterday in our CI, it failed because of the internal issue from broker that we could not tag our environment after deployed. When we rerun it, it passed

bethskurrie
2019-06-06 01:24
tagging and publishing already retry

bethskurrie
2019-06-06 01:24
as in, they retry when there is an error.

bethskurrie
2019-06-06 01:24
`--retry-while-unknown` is different because there is no actual http error - it's just a certain state of data that we suspect will change soon, so we wait around to see if it will change.

bethskurrie
2019-06-06 01:25
I believe publish and tag try 3 times with a 5 second wait

franklin.huynh
2019-06-06 01:26
so the broker must be down for 15s

franklin.huynh
2019-06-06 01:26
``` Tagging pact service ServiceName with tag Staging for version 79ced33178615e509b18351c38568c594f519bf5 05-Jun-2019 19:38:35 D:/bamboo-home/xml-data/build-dir/8060929-223281161/pact-latest/pact/lib/vendor/ruby/2.2.0/gems/pact_broker-client-1.18.0/lib/pact_broker/client/base_client.rb:86:in `rescue in handle_response': Internal Server Error (PactBroker::Client::Error) 05-Jun-2019 19:38:35 from D:/bamboo-home/xml-data/build-dir/8060929-223281161/pact-latest/pact/lib/vendor/ruby/2.2.0/gems/pact_broker-client-1.18.0/lib/pact_broker/client/base_client.rb:76:in `handle_response' 05-Jun-2019 19:38:35 from D:/bamboo-home/xml-data/build-dir/8060929-223281161/pact-latest/pact/lib/vendor/ruby/2.2.0/gems/pact_broker-client-1.18.0/lib/pact_broker/client/versions.rb:29:in `tag' 05-Jun-2019 19:38:35 from D:/bamboo-home/xml-data/build-dir/8060929-223281161/pact-latest/pact/lib/vendor/ruby/2.2.0/gems/pact_broker-client-1.18.0/lib/pact_broker/client/create_tag.rb:35:in `block (2 levels) in call' 05-Jun-2019 19:38:35 from D:/bamboo-home/xml-data/build-dir/8060929-223281161/pact-latest/pact/lib/vendor/ruby/2.2.0/gems/pact_broker-client-1.18.0/lib/pact_broker/client/retry.rb:22:in `while_error' 05-Jun-2019 19:38:35 from D:/bamboo-home/xml-data/build-dir/8060929-223281161/pact-latest/pact/lib/vendor/ruby/2.2.0/gems/pact_broker-client-1.18.0/lib/pact_broker/client/create_tag.rb:34:in `block in call' 05-Jun-2019 19:38:35 from D:/bamboo-home/xml-data/build-dir/8060929-223281161/pact-latest/pact/lib/vendor/ruby/2.2.0/gems/pact_broker-client-1.18.0/lib/pact_broker/client/create_tag.rb:31:in `each' 05-Jun-2019 19:38:35 from D:/bamboo-home/xml-data/build-dir/8060929-223281161/pact-latest/pact/lib/vendor/ruby/2.2.0/gems/pact_broker-client-1.18.0/lib/pact_broker/client/create_tag.rb:31:in `call' 05-Jun-2019 19:38:35 from D:/bamboo-home/xml-data/build-dir/8060929-223281161/pact-latest/pact/lib/vendor/ruby/2.2.0/gems/pact_broker-client-1.18.0/lib/pact_broker/client/create_tag.rb:19:in `call' 05-Jun-2019 19:38:35 from D:/bamboo-home/xml-data/build-dir/8060929-223281161/pact-latest/pact/lib/vendor/ruby/2.2.0/gems/pact_broker-client-1.18.0/lib/pact_broker/client/cli/broker.rb:75:in `create_version_tag' 05-Jun-2019 19:38:35 from D:/bamboo-home/xml-data/build-dir/8060929-223281161/pact-latest/pact/lib/vendor/ruby/2.2.0/gems/thor-0.20.3/lib/thor/command.rb:27:in `run' 05-Jun-2019 19:38:35 from D:/bamboo-home/xml-data/build-dir/8060929-223281161/pact-latest/pact/lib/vendor/ruby/2.2.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in `invoke_command' 05-Jun-2019 19:38:35 from D:/bamboo-home/xml-data/build-dir/8060929-223281161/pact-latest/pact/lib/vendor/ruby/2.2.0/gems/thor-0.20.3/lib/thor.rb:387:in `dispatch' 05-Jun-2019 19:38:35 from D:/bamboo-home/xml-data/build-dir/8060929-223281161/pact-latest/pact/lib/vendor/ruby/2.2.0/gems/thor-0.20.3/lib/thor/base.rb:466:in `start' 05-Jun-2019 19:38:35 from D:/bamboo-home/xml-data/build-dir/8060929-223281161/pact-latest/pact/lib/vendor/ruby/2.2.0/gems/pact_broker-client-1.18.0/lib/pact_broker/client/cli/custom_thor.rb:15:in `start' 05-Jun-2019 19:38:35 from D:/bamboo-home/xml-data/build-dir/8060929-223281161/pact-latest/pact/lib/app/pact-broker.rb:28:in `<main>' ```

bethskurrie
2019-06-06 01:26
are you talking about pactflow? We did have a production outage for a few minutes last night. That typically doesn't happen however, and I'm not sure if you'd want to retry for more than a minute under normal circumstances.

franklin.huynh
2019-06-06 01:27
yes, it is pactflow

franklin.huynh
2019-06-06 01:27
that's what I got

franklin.huynh
2019-06-06 01:27
was it the time we have the outage?

franklin.huynh
2019-06-06 01:27
i.e. 05-Jun-2019 19:38:35

bethskurrie
2019-06-06 01:28
Have a look at the #pact-broker channel. There is an outage notification. It should show the time in your local time.



bethskurrie
2019-06-06 01:29
Yes, it's 3 times with a 5 second sleep.

bethskurrie
2019-06-06 01:30
We could potentially expose those settings in the CLI, however, I don't think it would have helped you last night.

bethskurrie
2019-06-06 01:30
We're very sorry that your CI was interrupted - we take our uptime very seriously, as we know peoples CI is dependent on it.

franklin.huynh
2019-06-06 01:33
thanks @bethskurrie for your information. all good for now. I understand that

franklin.huynh
2019-06-06 01:34
I'll explain to our developers about that :smile:

franklin.huynh
2019-06-06 01:35
I think we should have a better way to announce the problem

franklin.huynh
2019-06-06 01:35
do you guy have a status page or something?

bethskurrie
2019-06-06 01:35
What I can do is increase those defaults so it retries for longer - but as I said, it was a genuine outage last night, and I'm not sure you'd want to try for as long as it was out for. The retries are meant to handle intermittent network issues.


franklin.huynh
2019-06-06 01:35
I want to have a webhook for push a message to our slack channel

franklin.huynh
2019-06-06 01:35
thanks

bethskurrie
2019-06-06 01:36
I think you can!

franklin.huynh
2019-06-06 01:36
fair enough

franklin.huynh
2019-06-06 01:37
:+1:

franklin.huynh
2019-06-06 01:37
all good now

pact.io
2019-06-23 07:31
has joined #pact-ruby-standalone

pact.io
2019-06-23 07:34
Hi there. I would like to implement some (or all) v3 features for pact-php. I just learned that the ruby-standalone server does not support those features yet. What are the plans for v3 here?

bethskurrie
2019-06-23 10:35
I don't have time to pick it up, but if someone is willing to help out, I can work with them.

bethskurrie
2019-06-23 10:37
There are a few things implemented already like the changed json format and the multiple provided states.

bethskurrie
2019-06-23 10:37
It's the new matchers that are missing.

pact.io
2019-06-23 10:38
Well, I have never done anything in ruby before. But if you show me the file where matchers are defined and handled I would take a look at it. I tried to find the file this morning, but I was not successful

bethskurrie
2019-06-23 11:05
It's in pact support

bethskurrie
2019-06-23 11:05
There's not "a file".

bethskurrie
2019-06-23 11:07
When the pact is deserialised, a tree is built of the structure.

bethskurrie
2019-06-23 11:08
Each matcher gets turned into an object that contains the logic for working out if something matches or not.

bethskurrie
2019-06-23 11:09
Is there a particular feature you're interested in?

pact.io
2019-06-23 11:20
Well, no. I just wanted to contribute a bit to open source. I like this project and I can use it at work (hopefully, if I can convince my colleagues) and that is why I think about investing some time if possible

bethskurrie
2019-06-23 11:20
There's always so much work to be done, any help is appreciated!

pact.io
2019-06-23 11:21
That's good. I invested most of my time so far in PHP. Other languages are not a black book, but I need more time

bethskurrie
2019-06-23 11:22
Ruby is a fairly easy one to pick up, compared to some. It's usually easy to read, but harder to write because there are so many ways of doing things!

pact.io
2019-06-23 11:23
That's why I like code reviews :wink:

samuel.hodgkinson
2019-09-23 11:56
has joined #pact-ruby-standalone

samuel.hodgkinson
2019-09-23 12:01
Using the `pact-provider-verify` command, is there any way to target *all* unverified pacts? When running the command and not supplying any specific pacts or tags or versions to verify, it only verifies the latest consumer version. This becomes an issue if we want to run verification for all pacts (independent of whether it's a feature branch or master etc).

bethskurrie
2019-09-25 02:44
@samuel.hodgkinson that's an interesting problem. Can you tell me more about what your situation is? What makes it necessary to verify all the versions of the pacts?

bethskurrie
2019-09-25 02:45
Having said that, I'm releasing some code tomorrow which will introduce the concept of "work in progress" pacts, which is basically, all unverified pacts.

samuel.hodgkinson
2019-09-25 13:12
So we have some automation to help with pact in Jenkinsfiles in our company, and I had a team contact me asking whether they could conditionally publish pacts to our broker only if it is on a master branch, because if a feature branch pact is published, it updates the `latest` tag. Then when they come to verify, they just verify the latest which may mean `master` pacts go unverified. I'd suggested that we recommend teams always verify all unverified pacts (from every branch) and then only gate their build on the `master` pacts, or whichever pacts they actually care about. That way everyone gets results, but the build only passes/fails based on those `master` pacts.

samuel.hodgkinson
2019-09-25 13:13
Do you think this is a good recommendation? Also, it does sound like the "work-in-progress" pacts would solve this issue, do you have any docs on how this works yet? Is it another kind of tag?

samuel.hodgkinson
2019-09-30 13:15
@bethskurrie do you have any advice on this situation?

bethskurrie
2019-10-03 04:40
@samuel.hodgkinson never verify just "latest". Always use a tag name.

bethskurrie
2019-10-03 04:45
I didn't get the wip code out, but I got all the groundwork code done. What language are you using for verifications?

bethskurrie
2019-10-03 04:45
If you verify all unverified pacts, your builds will be very long!


tony.ibbs
2019-10-07 14:20
has joined #pact-ruby-standalone

tjones
2019-10-08 22:08
has joined #pact-ruby-standalone

tjones
2019-10-08 22:08
Is there a way to get `pact-provider-verify` to only print out failing verifications?

tjones
2019-10-08 22:16
Thanks to @bethskurrie in #pact-js - the answer is `--format progress` (repeated here for the viewers at home)

kyle.hammond
2019-10-23 20:57
has joined #pact-ruby-standalone

samuel.hodgkinson
2019-10-25 10:54
@bethskurrie When is it expected that pact-ruby-standalone will support pact spec v3?

bethskurrie
2019-10-25 19:54
I don't know, sorry, @samuel.hodgkinson. We're actually hoping to move from the Ruby standalone to the rust impl (which already has v3)

samuel.hodgkinson
2019-10-28 16:56
Okay, no problem. Could you link me to that rust implementation please?

alan.nichols
2019-11-04 16:46
has joined #pact-ruby-standalone

alan.nichols
2019-11-04 16:49
Hi, hoping someone can help or point me in the right direction! I'm writing tests for iOS that use the ruby server as described in the swift wiki - https://github.com/DiUS/pact-consumer-swift but I am seeing some weird behaviour, and I'm not sure if it's a bug or a config issue. My first test class runs correctly and generates a PACT file as expected. The second test class, for a different API generates a PACT with the new cases as expected, but also includes all of the ones from the first API. Any suggestions?

tjones
2019-11-06 05:11
Are you shutting down the mock after the first class runs?

tjones
2019-11-06 05:11
Do the mocks run on different ports?

tjones
2019-11-06 05:16
Ah yeah. I think that's the problem. You'll want different mock services for each provider

alan.nichols
2019-11-06 10:18
Hi @tjones. Unfortunately the iOS use case is to set the server to start and stop in the pre and post test run actions. Meaning we can't stop the server in between test classes.

alan.nichols
2019-11-06 10:19
It gets started at the beginning of the whole suite, then stopped at the end

alan.nichols
2019-11-06 10:19
This would work fine if all APIs were routed by a central access point, but not for distributed APIs

andrewspinks
2019-11-06 22:13
@alan.nichols Yeah, this makes sense. We cannot start and stop the mock services programatically in the test suite because the simulator doesn?t have access. One workaround might be to startup two mock services on different ports and switch which one each test uses.

andrewspinks
2019-11-06 22:15
This is one of the reasons why switching to the rust binary would be an advantage, we can start and stop that from the tests. Unfortunately its a big change and introduced other issues. I did spike it on a branch at one point, but its not really usable.

tjones
2019-11-06 22:54
Can you not start two mock services?

tjones
2019-11-06 23:51
it should be fine to fire up two different servers at startup (and close them at the end of the tests)

bethskurrie
2019-11-07 09:37
@andrewspinks Matt is having a go with pact js, and the changes they make to rust impl for that might make it easier for ios. See how we go.

andrewspinks
2019-11-07 09:40
Some of it was the way rust libs needs to be linked which forces certain compiler settings to be used by the user (and which may have cause app store approval issues - I can't remember the exact details). At least that's how it used to be.

bethskurrie
2019-11-07 09:40
Ugh!

alan.nichols
2019-11-07 10:09
Thanks @andrewspinks and @bethskurrie for the information. I'll look into options with using multiple servers on different ports and also the option of having the tests for different APIs in the same XCode Scheme but different Test Plans. It should mean I can use "build for testing", then separate runs for each test plan using Test Without Building. I'll pick whichever one is least messy given our number of APIs.

alan.nichols
2019-11-07 10:10
Thanks @tjones. I'll look into options around starting multiple servers in the prebuild actions and at using some xcode features to have different test schemes for each API.

kyle.hammond
2019-11-07 20:14
We are also starting up multiple mock services on different ports in the pre-build test action. We?re using Xcode 11's Test Plans to change some environment variables for which consumer/provider we?re testing, along with providing the port number of the associated mock service. This is working out nicely to quickly test shared app code that is targeted at different server backends.

alan.nichols
2019-11-08 09:00
Thanks @kyle.hammond. I ended up not needing to use the test plans as we have one backend with multiple APIs. An environment / port enum and an extra line of config has sorted this. Our pre and post steps now loop through an array of ports to start up / shut down. It would be great to capture some of this stuff in the wiki I think. I assume this is a relatively common use case?

kyle.hammond
2019-11-08 16:09
I agree documenting the Xcode setup for others would be great.

bheemreddy181
2019-12-13 00:39
has joined #pact-ruby-standalone

alan.nichols
2020-01-15 16:46
Hi everyone. I have a test that is generating a PACT for a PUT request with some values in the body of the request. When I have a look at the PACT that is generated, all that is captured is the method and the path. I'm not sire if I'm doing something wrong.... Any ideas?

marko.justinek
2020-01-15 20:12
I saw you replied to your own message in #general. Have you sorted it out and are able to continue with your development now?

alan.nichols
2020-01-16 10:17
Sorry! Yes all sorted now. Will be implementing the solution today hopefully :slightly_smiling_face:

alan.nichols
2020-02-10 11:31
@alan.nichols has left the channel

reverse9
2020-02-16 18:48
has joined #pact-ruby-standalone

marko.justinek
2020-02-27 23:18
Late to the party but ran into the same issue with running PACT tests for 9 providers. Utilized `enum` for provider ports and `protocol` to force usage of the port enum in each of the Test files. The `start_services.sh` iterates through a list of ports (same count of ports as the enum holds them) and `stop_services.sh` searches for any running services and kills them all. A hopefully decent comment next to enum and protocol has been written for devs to follow the setup. Seems to be working fine for now.

joel.whalen
2020-03-02 17:20
has joined #pact-ruby-standalone

lbraymusso
2020-04-02 05:41
has joined #pact-ruby-standalone

kyle.hammond
2020-04-07 16:52
@kyle.hammond has left the channel

morten.hekkvang053
2020-05-10 08:40
has joined #pact-ruby-standalone

tjones
2020-05-14 00:26
@bethskurrie Is there a way to get the interaction diff returned by the mock-service verification endpoint when verification fails? Like a JSON output, maybe? I?d like to expose the contents of the diff to pact-js, so that we don?t have to check the logs so often

bethskurrie
2020-05-14 03:14
Yes. Raise it in the mock service repo.

tjones
2020-05-14 06:19
Done! Let me know if there isn?t enough detail: https://github.com/pact-foundation/pact-mock_service/issues/123

sairsule
2020-05-26 16:42
has joined #pact-ruby-standalone

joel.whalen
2020-07-09 19:27
Hello, I?m trying to get the pact publish to work for my python code and am using the official docker image here https://hub.docker.com/r/pactfoundation/pact-cli There is no `publish` command to be found. Am I missing something?

tjones
2020-07-13 01:38
Apologies for the late response - the command you are looking for is: ```pact-broker -h```

tjones
2020-07-13 01:38
publish is under `pact-broker publish`

sairsule
2020-07-20 17:33
I have self signed cert on pact-broker, I added the cert to ca-bundle.crt, still getting error while publishing pact. ```OpenSSL::SSL::SSLError SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed C:/tools/pact_o/lib/vendor/ruby/2.2.0/gems/pact_broker-client-1.26.0/lib/pact_broker/client/base_client.rb:101:in `put', attempt 1 of 3```

sairsule
2020-07-20 17:34
I can put this pact on server using postman, but cannot add tags to it.. is there a way I can add tags using postman?

sairsule
2020-07-21 04:57
and how can I fix SSL issue?

tim.den.dulk
2020-08-05 08:17
has joined #pact-ruby-standalone

jarmy
2020-08-06 22:07
has joined #pact-ruby-standalone

heytaco
2020-08-25 03:57
has joined #pact-ruby-standalone

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!

github
2021-04-19 00:57
GitHub app is successfully upgraded in your workspace :tada: To receive notifications in your private channels, you need to invite the GitHub app `/invite @GitHub`

github2
2021-04-20 03:47
[pact-foundation/pact-ruby-standalone] Issue closed by bethesque

github2
2021-04-20 03:49
[pact-foundation/pact-ruby-standalone] New release _https://github.com/pact-foundation/pact-ruby-standalone/releases/tag/v1.88.49_ published by github-actions[bot]

github2
2021-04-20 03:50
[pact-foundation/pact-ruby-standalone] Issue closed by bethesque

github2
2021-04-20 03:51
[pact-foundation/pact-ruby-standalone] Issue closed by bethesque

github2
2021-04-27 06:22
[pact-foundation/pact-ruby-standalone] New release _https://github.com/pact-foundation/pact-ruby-standalone/releases/tag/v1.88.50_ published by github-actions[bot]

github2
2021-04-27 08:16
[pact-foundation/pact-ruby-standalone] New release _https://github.com/pact-foundation/pact-ruby-standalone/releases/tag/v1.88.51_ published by github-actions[bot]

github2
2021-05-24 22:22
[pact-foundation/pact-ruby-standalone] New release _https://github.com/pact-foundation/pact-ruby-standalone/releases/tag/v1.88.52_ published by github-actions[bot]

github2
2021-05-30 23:16
[pact-foundation/pact-ruby-standalone] New release _https://github.com/pact-foundation/pact-ruby-standalone/releases/tag/v1.88.53_ published by github-actions[bot]

github2
2021-06-03 06:33
[pact-foundation/pact-ruby-standalone] New release _https://github.com/pact-foundation/pact-ruby-standalone/releases/tag/v1.88.54_ published by github-actions[bot]

github2
2021-06-09 03:45
[pact-foundation/pact-ruby-standalone] New release _https://github.com/pact-foundation/pact-ruby-standalone/releases/tag/v1.88.55_ published by github-actions[bot]

github2
2021-06-16 22:28
[pact-foundation/pact-ruby-standalone] New release _https://github.com/pact-foundation/pact-ruby-standalone/releases/tag/v1.88.56_ published by github-actions[bot]

github2
2021-06-24 05:46
[pact-foundation/pact-ruby-standalone] New release _https://github.com/pact-foundation/pact-ruby-standalone/releases/tag/v1.88.57_ published by github-actions[bot]

github2
2021-06-30 23:21
[pact-foundation/pact-ruby-standalone] New release _https://github.com/pact-foundation/pact-ruby-standalone/releases/tag/v1.88.58_ published by github-actions[bot]

github2
2021-07-08 07:14
[pact-foundation/pact-ruby-standalone] Pull request opened by snyk-bot

github2
2021-07-12 17:04
[pact-foundation/pact-ruby-standalone] Pull request opened by dependabot[bot]

github2
2021-07-20 01:03
[pact-foundation/pact-ruby-standalone] New release _https://github.com/pact-foundation/pact-ruby-standalone/releases/tag/v1.88.59_ published by github-actions[bot]

github2
2021-07-20 04:59
[pact-foundation/pact-ruby-standalone] New release _https://github.com/pact-foundation/pact-ruby-standalone/releases/tag/v1.88.60_ published by github-actions[bot]

github2
2021-07-27 07:02
[pact-foundation/pact-ruby-standalone] New release _https://github.com/pact-foundation/pact-ruby-standalone/releases/tag/v1.88.61_ published by github-actions[bot]

github2
2021-08-04 03:27
[pact-foundation/pact-ruby-standalone] New release _https://github.com/pact-foundation/pact-ruby-standalone/releases/tag/v1.88.62_ published by github-actions[bot]

github2
2021-08-05 03:22
[pact-foundation/pact-ruby-standalone] New release _https://github.com/pact-foundation/pact-ruby-standalone/releases/tag/v1.88.63_ published by github-actions[bot]

tjones
2021-09-08 11:51
I don't have time right now to look in to it more, but I think 1.88.65 might be broken - we hit this in pact-js CI: https://github.com/pact-foundation/pact-js/runs/3544112550?check_suite_focus=true#step:4:901

tjones
2021-09-08 11:52
I fixed it by rolling back to 1.88.63

tjones
2021-09-08 11:52
I can provide more info tomorrow if you need

tjones
2021-09-08 11:52
it appears to only affect the verifier

alan.hanafy
2021-09-08 18:15
has joined #pact-ruby-standalone

alan.hanafy
2021-09-08 18:17
we ran into the same issue ourselves. rolled back to 1.88.60 since we had that working last

alan.hanafy
2021-09-08 18:32
@tjones is there a github issue already logged for this?

tjones
2021-09-08 23:12
No, I didn't have a chance yesterday

tjones
2021-09-27 09:19
The latest standalone (1.88.68) results in a lot of ```Error retrieving matrix. NoMethodError - undefined method `+@' for "":String``` errors when used in pact-js - see https://github.com/pact-foundation/pact-js-core/runs/3718127522

bethskurrie
2021-09-27 09:19
oh dear

bethskurrie
2021-09-27 09:20
something going on in httparty

bethskurrie
2021-09-27 09:20
I'll see if I can repro locally

bethskurrie
2021-09-27 09:23
@tjones can you see if you can work out what the exact arguments being passed in are?

tjones
2021-09-27 09:27
I probably can, one moment


tjones
2021-09-27 09:29
```{ pactBroker: `http://localhost:${PORT}`, pacticipants: [{ name: 'Foo', version: '4' }], }``` This is the js, one moment and I'll get you the CLI args

bethskurrie
2021-09-27 09:31
it's ok

bethskurrie
2021-09-27 09:31
I've locked httparty

bethskurrie
2021-09-27 09:31
new release of the standalone is in the rube goldberg machine now

tjones
2021-09-27 09:32
amazing

tjones
2021-09-27 09:32
Weirdly, 1.88.68 passes locally for me

tjones
2021-09-27 10:07
Ok, that one works, thank you!

tjones
2021-09-27 10:09
Unfortunately, our tests are now failing for a different reason - Is the broker path `/auth` new? pact-js-core has some really old broker mocks, which might need to be updated

tjones
2021-09-27 10:09
(we ....really should use pact for that....)

tjones
2021-09-27 10:10
Is there somewhere I can read the pact between the CLI and the broker?

tjones
2021-09-27 10:14
hm, maybe it's a regression - the broker path in that test is `https://localhost:${port}/auth`, and the error we're getting is: ```Error making request to http://localhost:9720/auth status=404 \n<html lang="en">\n<head>\n<meta charset="utf-8">\n<title>Error</title>\n</head>\n<body>\n<pre>Cannot GET /auth</pre>\n</body>\n</html>\n```

tjones
2021-09-27 10:15
(the broker mock does answer to `/`)

tjones
2021-09-27 10:17
Whatever has changed, it's changed since 1.88.66

bethskurrie
2021-09-27 21:47
There is no path "/auth" in the Pact Broker, and there never has been.

bethskurrie
2021-09-27 21:48
```$ be rake pact_broker:routes[auth] Listing routes containing the term 'auth'```


bethskurrie
2021-09-27 21:50
There is also no request to anything with the path "auth" in it that I can see in the client code https://github.com/pact-foundation/pact_broker-client/search?p=1&q=auth

tjones
2021-09-27 22:07
Right, sorry, I wasn't clear- after first thinking it was requesting `/auth`, I realised that the broker base url includes this path, and so I started thinking it might be a regression when the broker is not running at the root

tjones
2021-09-29 02:56
^ This one is still broken for us. I'm afraid I don't really have time to look into it at the moment, so for now I'll just pin pact-js to the last good version (1.88.66)

bethskurrie
2021-09-29 02:57
bugger. which error?

tjones
2021-09-29 02:59
Same as above: ```PactBroker::Client::Hal::ErrorResponseReturned - Error making request to http://localhost:9874/auth status=404 \n<html lang="en">\n<head>\n<meta charset="utf-8">\n<title>Error</title>\n</head>\n<body>\n<pre>Cannot GET /auth</pre>\n</body>\n</html>\n'``` (that's the broker root path. It's using a mock broker, which might be the problem, but 1.88.66 works fine, so something has changed between those versions)

bethskurrie
2021-09-29 02:59
and which call is that?

tjones
2021-09-29 03:02
Ah, sorry, hold on

tjones
2021-09-29 03:02
it's pact-broker publish, with...

bethskurrie
2021-09-29 03:03
hm. it has changed, but it should perform the same way against a mock.

tjones
2021-09-29 03:03
``` { pactBroker: authenticatedPactBrokerBaseUrl, pactFilesOrDirs: [ path.resolve( __dirname, 'integration/publish/publish-success.json' ), ], consumerVersion: '1.0.0', pactBrokerUsername: 'foo', pactBrokerPassword: 'bar', });```

bethskurrie
2021-09-29 03:03
the mock won't have the HAL links that would make it use the new API.

bethskurrie
2021-09-29 03:03
i'll have a dig

tjones
2021-09-29 03:03
I suspect the mock might be wrong

tjones
2021-09-29 03:03
but in a way where it wasn't wrong before

bethskurrie
2021-09-29 03:03
it makes a call to the index now that it didn't used to.

bethskurrie
2021-09-29 03:03
I think you'll need to stub that response.

bethskurrie
2021-09-29 03:04
if you give it `{_links:{}}` it should be fine.

sadikshahidain
2021-10-18 20:19
has joined #pact-ruby-standalone

sadikshahidain
2021-10-18 20:27
(Sorry if this is the wrong channel, it just seemed to be the most relevant) Someone on our security team pointed out that the Pact-PHP library downloading the Pact Ruby standalone installer from Github releases could be subject to a supply-chain hack (like the codecov one), and asked me if there was a way to validate that it hadn't been compromised by a bad actor. I haven't been able to find a mention of how to handle this with Pact so far, other than to pin the version and add a custom hash check in our test code (assuming the current installer is clean). If there is a better way to handle this (e.g. checking a hash you all publish independently of the installer's release) I would definitely love to know. Pact has been super helpful for our team so far and I'd hate to have to pull it :disappointed:

bethskurrie
2021-10-18 20:59
yep, there are checksums published in the github release


bethskurrie
2021-10-18 21:00
Look at the checksum files.

bethskurrie
2021-10-18 21:01
The pact-js impl verifies the checksum, but I don't know if the php one does.

sadikshahidain
2021-10-18 21:04
I see, I didn't see a mention of that in the php one but I can double-check. And lemme see if I can get that person from security to verify this would be ok if it did

sadikshahidain
2021-10-18 21:08
Yeah I'm not finding anything looking for that file in PHP. And is the process for generating that checksum fairly independent of the process of creating the installers? We had another issue recently re: composer's installer and its checksum, and our security team was ok with it given that the checksum was separately generated/hosted from the installer (at least on the face of it)

bethskurrie
2021-10-18 21:09
I don't understand the question - can you expand?


sadikshahidain
2021-10-18 21:12
Got it, so if prior to this one of the packages were compromised, the checksum would be computed from that compromised package, is that somewhat accurate? Like I wouldn't be able to tell it was compromised when doing the comparison myself?

bethskurrie
2021-10-18 21:13
```bundle exec rake package pushd pkg; for file in *.{zip,gz}; do sha1sum -b "$file" > "${file}.checksum"; done; popd; cat pkg/*.checksum > pkg/pact-`cat VERSION`.checksum```

bethskurrie
2021-10-18 21:14
the package gets built, then the checksum is created in the next line. they are committed together and published to a github release.

bethskurrie
2021-10-18 21:14
as long as you go back to the github release for the checksum, you're safe.

sadikshahidain
2021-10-18 21:17
Right, I guess I'm just not sure if our security team will end up being ok with that. I assume ideally they'd want the checksum computed in a totally separate procedure, so even if the installer is tainted somewhere along the line here, when we download both we'd be able to see the difference. I'll try my best to make that argument though & figure out how to do some of this checking from PHP!

bethskurrie
2021-10-18 21:27
I still don't know what you mean by "the installer"

sadikshahidain
2021-10-18 21:29
Oh it says "installer" a lot in https://github.com/pact-foundation/pact-php/blob/661a2ab51d7695ad2c085f5ceb4df3d0c5142130/src/PhpPact/Standalone/Installer/Service/InstallerLinux.php, but I'm thinking now it just means the binary for the standalone mock service?

sadikshahidain
2021-10-20 00:59
It seems like Pact-JS no longer does a checksum check afaict - https://grep.app/search?q=.%2Atar.gz.%2Achecksum.%2A&regexp=true&filter[repo.pattern][0]=pact-foundation Since the "https://github.com/pact-foundation/pact-js-core/blob/master/download-checksums.js" function no longer exists Noticed this while drafting an issue for Pact-PHP that I was going to try and make a PR for, but based on the above search it seems like none of the languages are currently using the checksum. Should I take that to mean it's up to package consumers to do the check themselves? (that seems ok to me, I just wanted to double-check before I proceed with doing that) (Also I forgot to mention it before but ty so much for all of the support around this! I really appreciate it and the moment my company needs to do real contract testing instead of just api mocking I'm definitely getting them to try out Pactflow!)

bethskurrie
2021-10-20 01:00
You're welcome.

bethskurrie
2021-10-20 01:00
:smile:

bethskurrie
2021-10-20 01:00
You'll need to check with the #pact-js maintainers about the checksum checking. It definitely used to happen.

bethskurrie
2021-10-20 01:01
We are moving away from the ruby standalone to a shared rust core, FYI.

bethskurrie
2021-10-20 01:01
the ruby standalone is effectively legacy now.

sadikshahidain
2021-10-20 01:03
Yup will do! And oh nice I did not know that, very good to know.

bethskurrie
2021-10-20 01:03
I can't tell you when the php client will get it however.

sadikshahidain
2021-10-20 01:05
Yeah I think that's probably fine. I actually talked w/ our head of security about this whole thing today and he was much more relaxed about it tbh...shouldn't have let that one person get me so riled up perhaps...

diva.pant1
2021-12-16 17:15
has joined #pact-ruby-standalone

greg.tyler
2022-02-21 10:18
has joined #pact-ruby-standalone

greg.tyler
2022-02-21 10:20
~Hiya! Does anyone have any tips for debugging `--publish-verification-results` in `pact-provider-verifier`? I think I?ve included all the necessary arguments, but it isn?t publishing and the log output doesn?t suggest it?s trying to.~ ~I?d expect it either to publish or tell me why it couldn?t, but I?m not familiar enough with Ruby to know quite what should be happening.~ OMG ignore me it?s because the consumer still uses `master` as its default branch :face_with_rolling_eyes:

greg.tyler
2022-02-21 10:22
The command I?m running is: ```./pact/bin/pact-provider-verifier \ --broker-username ${PACT_BROKER_USER} \ --broker-password ${PACT_BROKER_PASS} \ --provider-app-version ${GIT_COMMIT_PROVIDER} \ --provider-base-url ${APP_BASE_URL} \ --provider-version-tag ${CIRCLE_BRANCH} \ --pact-broker-base-url ${PACT_BROKER_BASE_URL} \ --provider ${PACT_PROVIDER} \ --consumer-version-tag main \ --wait 30 \ --verbose \ --publish-verification-results``` And the verbose log output is: ```opening connection to <my-broker>:443... opened starting SSL for <my-broker>:443... SSL established <- "GET / HTTP/1.1\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: application/hal+json\r\nUser-Agent: Ruby\r\nAuthorization: [redacted]\r\n" -> "HTTP/1.1 200 OK\r\n" -> "Date: Mon, 21 Feb 2022 10:11:33 GMT\r\n" -> "Content-Type: application/hal+json;charset=utf-8\r\n" -> "Content-Length: 5112\r\n" -> "Connection: keep-alive\r\n" -> "Vary: Accept\r\n" -> "Server: Webmachine-Ruby/1.6.0 Rack/1.3\r\n" -> "X-Pact-Broker-Version: 2.93.2\r\n" -> "X-Content-Type-Options: nosniff\r\n" -> "\r\n" reading 5112 bytes... -> <removed> read 5112 bytes Conn keep-alive INFO: Fetching pacts for lpa-codes from https://<my-broker> with the selection criteria: : latest for tag main opening connection to <my-broker>:443... opened starting SSL for <my-broker>:443... SSL established <- "POST /pacts/provider/lpa-codes/for-verification HTTP/1.1\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: application/hal+json\r\nUser-Agent: Ruby\r\nContent-Type: application/json\r\nAuthorization: [redacted]\r\n" <- "{\"consumerVersionSelectors\":[{\"tag\":\"main\",\"latest\":true}],\"providerVersionTags\":[\"pact-verify\"]}" -> "HTTP/1.1 200 OK\r\n" -> "Date: Mon, 21 Feb 2022 10:11:33 GMT\r\n" -> "Content-Type: application/hal+json;charset=utf-8\r\n" -> "Content-Length: 179\r\n" -> "Connection: keep-alive\r\n" -> "Vary: Accept\r\n" -> "Server: Webmachine-Ruby/1.6.0 Rack/1.3\r\n" -> "X-Pact-Broker-Version: 2.93.2\r\n" -> "X-Content-Type-Options: nosniff\r\n" -> "\r\n" reading 179 bytes... -> "{\"_embedded\":{\"pacts\":[]},\"_links\":{\"self\":{\"href\":\"https://<my-broker>/pacts/provider/lpa-codes/for-verification\",\"title\":\"Pacts to be verified\"}}}" read 179 bytes Conn keep-alive INFO: Polling for up to 30 seconds for provider to become available at localhost:4343... INFO: Provider available, proceeding with verifications```

greg.tyler
2022-02-21 10:44
Resolved, the `consumer-version-tag` should have been ?master? not ?main?. This is what happens when you have a branch naming strategy but don?t actually roll it across your estate :joy:

yousafn
2022-04-29 14:38
has joined #pact-ruby-standalone

orbit
2022-05-09 18:01
has joined #pact-ruby-standalone

tjones
2022-05-16 08:48
@tjones has left the channel

lewiscowles
2022-05-17 20:30
has joined #pact-ruby-standalone

lewiscowles
2022-05-23 07:04
Does anyone know how I can pull from https://github.com/pact-foundation/pact-ruby-standalone/pull/73 now it has merged? I Think I need to wait until a release cut to be able to use.

yousafn
2022-05-23 11:22
Yeah it needs a release, I?ll get on it now

yousafn
2022-05-23 11:22
thx for the change

lewiscowles
2022-05-23 12:10
Thank you

yousafn
2022-05-23 12:23
See slack message below :the_horns: https://pact-foundation.slack.com/archives/C9WTB2JDV/p1653305273798749 Let us know how you get on. If there is anything we can add to our documentation on Linux, and you would be happy to suggest or make a PR, it would be greatly appreciated whilst your in that headspace :slightly_smiling_face: https://docs.pact.io/docker#alpine-linux

lewiscowles
2022-05-23 13:59
I won't be around until tomorrow to try this, but it should instantly fix the issue I was experiencing. It's really a strange one as what happened was someone got the latest alpineJS for our (non-ruby) tech, and all of a sudden env bash could not be found. Locally I can execute on the container, until a script attempts to launch another script. It'll for sure be a fun issue to solve

lewiscowles
2022-05-24 16:51
@yousafn Do we know if 1.88.83 -> 1.88.89 has url structure changes? I'm having some issues making a working PR for pact-php based on this release of pact-ruby-standalone. pact-php uses pact-ruby-standalone. But it looks like master fails too...


yousafn
2022-05-24 17:04
Hey hey Just about to clock off for the evening (dinner is calling) but you can check out the CHANGELOG for details pact-ruby-standalone https://github.com/pact-foundation/pact-ruby-standalone/blob/master/CHANGELOG.md most changes appear to be in, you can see the version on the gem it pulls in, and the associated changelog :mag: pact_broker-client https://github.com/pact-foundation/pact_broker-client/blob/master/CHANGELOG.md

lewiscowles
2022-05-24 17:09
Enjoy dinner mate. I'm going to call it a day too. The commands php runs do work when run without PHP :joy: so maybe some fun contributions ahead. If I can get master working in it's own CI again, I'll PR a scheduled build so people can get alerted if it breaks in future.

lewiscowles
2022-05-27 12:34
confirmed working for `pact-php` (modifying the installer constants to use `1.88.90` ), clearing `pact` (local install of standalone) and using `Lewiscowles1986:bugfix/update-pact-url` as a base branch.

slacksync
2022-06-08 17:21
has joined #pact-ruby-standalone

yousafn
2022-06-09 14:04
This now introduces a `pactflow` command for `publish-provider-contract` which can be used like ```./pact/bin/pactflow publish-provider-contract \ oas/swagger.yml \ --provider "pactflow-example-bi-directional-provider-postman" \ --provider-app-version 3a0994c \ --branch test-pactflow-command \ --content-type application/yaml \ --verification-exit-code=0 \ --verification-results newman/newman-run-report-2022-06-09-14-03-30-715-0.json \ --verification-results-content-type text/plain\ --verifier postman```

yousafn
2022-06-09 14:09
Depending on your platform Windows (bash shell) ``` curl -LO https://github.com/pact-foundation/pact-ruby-standalone/releases/download/v1.89.00-rc1/pact-1.89.00-rc1-win32.zip && \ unzip pact-1.89.00-rc1-win32.zip && \ ./pact/bin/pactflow help``` MacOS ```curl -LO https://github.com/pact-foundation/pact-ruby-standalone/releases/download/v1.89.00-rc1/pact-1.89.00-rc1-osx.tar.gz && \ tar xzf pact-1.89.00-rc1-osx.tar.gz && \ ./pact/bin/pactflow help``` Linux ```curl -LO https://github.com/pact-foundation/pact-ruby-standalone/releases/download/v1.89.00-rc1/pact-1.89.00-rc1-linux-x86_64.tar.gz && \ tar xzf pact-1.89.00-rc1-linux-x86_64.tar.gz && \ ./pact/bin/pactflow help```

thomas.koppensteiner
2022-06-29 09:39
has joined #pact-ruby-standalone

greg.tyler
2022-07-28 09:24
@greg.tyler has left the channel

thanuxxxx
2022-08-09 15:16
has joined #pact-ruby-standalone

duynguyenptithcm
2022-08-20 14:55
has joined #pact-ruby-standalone

orbit
2022-12-01 15:45
has joined #pact-ruby-standalone

github2
2022-12-07 20:21
The GitHub user https://github.com/bethesque has signed out. Use the following command/s to recreate subscriptions /github subscribe pact-foundation/pact-ruby-standalone

bethskurrie
2022-12-08 00:34
/github subscribe pact-foundation/pact-ruby-standalone

2022-12-08 00:34
:white_check_mark: Subscribed to https://github.com/pact-foundation/pact-ruby-standalone. This channel will receive notifications for `issues`, `pulls`, `commits`, `releases`, `deployments`

jeroen.vandijk
2023-01-10 09:07
has joined #pact-ruby-standalone

markcox20
2023-03-21 10:10
has joined #pact-ruby-standalone

markcox20
2023-03-21 10:16
Hi all, I?m guessing this is the place to ask about `pact-ruby-standalone` . I?m in the process of including this within an image but noticed there are are open dependabot pull requests on this project. Is this actively maintained?

markcox20
2023-03-21 10:16
It would be good to get these merged in if possible as they are being flagged by a vulnerability scanner.

matt.fellows
2023-03-22 09:30
It definitely is

matt.fellows
2023-03-22 09:31
It's likely not yet at the top of a maintenance list. What's the use case?

markcox20
2023-03-22 09:32
I?m including these binaries in a image that I use as a build agent in Jenkins, so they can be used in a neat way within pipelines

markcox20
2023-03-22 09:33
But we have to vuln scan all running images. I can see the PRs have been created by dependabot which I _think_ resolve the vulns

matt.fellows
2023-03-22 09:33
It's a maintained project. I'd not necessarily wait for the...

matt.fellows
2023-03-22 09:33
Right :rolling_on_the_floor_laughing:

matt.fellows
2023-03-22 09:35
2 of the dependabot updates seemingly break the build, so I'd not expect them quickly if they resolve your issues - do you know if the ones with passing builds do?


markcox20
2023-03-22 09:37
I?m happy to work on broken ones if they are needed :simple_smile:

matt.fellows
2023-03-22 10:19
If you have a moment, that would be helpful for sure!

markcox20
2023-03-22 10:20
I don?t really :simple_smile: but if they cause me pain I?ll find the time

markcox20
2023-03-22 10:22
if someone could find time to get the rack one merged that would be much appreciated :pray:

matt.fellows
2023-03-22 10:25
Just getting dependabot to rebase so I can get fresh builds and baseline. standby

markcox20
2023-03-22 10:26
when do you schedule in new releases?

matt.fellows
2023-03-22 10:27
There is no specific release cadence - we have something like > 100 ?releasable? artifacts across our repositories that we manage, so it?s usually on demand, when there is something to release

markcox20
2023-03-22 10:29
understood, if it isn?t already obvious I?m looking for a new release after these PRs :grin:

matt.fellows
2023-03-22 10:29
yep :slightly_smiling_face:

matt.fellows
2023-03-22 10:30
so looking at the repo, it _is_ maintained but due to the way we distribute the CLI as a quasi-binary (via travelling Ruby) we will be constrained to support only Ruby 2.4 (that?s all it supports). This might cause issues for your scanner, so see how you go

matt.fellows
2023-03-22 10:31
The alternative is to just install Ruby on your base image, and `gem install <tool>` each ruby tool you need. Probably this is likely just `gem install pact_broker-client`

markcox20
2023-03-22 10:32
ok thank you for all your help, much appreciated

markcox20
2023-03-22 10:32
I?ll post back when I have a working solution

matt.fellows
2023-03-22 10:37
OK all the rebases are done and most of those builds are green, bar one that can?t be merged as the dep needs Ruby 2.6

matt.fellows
2023-03-22 10:37
Will run the release step shortly. I?ve not done it before, but will follow the guide and see what happens!

markcox20
2023-03-22 10:37
ha, perfect, thank you

matt.fellows
2023-03-22 11:03
I might need the maintainer to run the release sorry!

markcox20
2023-03-22 11:27
np, appreciate your efforts

markcox20
2023-03-22 15:47
@yousafn, sorry for the tag, I noticed you were in my timezone :simple_smile: is performing a release something you can do?

yousafn
2023-03-22 16:03
hold on to your butts

yousafn
2023-03-22 16:03
:wave: Just kicked it off!



markcox20
2023-03-22 16:05
what a legend! thank you very much

yousafn
2023-03-22 16:06
No worries fella! Seems some yak's need shaving for the downstream notifications, I'll sort that https://github.com/pact-foundation/pact-ruby-standalone/actions/runs/4491941252/jobs/7901148808 You based in the UK? I'm in Leeds

markcox20
2023-03-22 16:06
Yeah Cardiff. I was in Leeds for ~10years

yousafn
2023-03-22 16:09
Ahh lovely, we've got family in Neath, love a drive down over the sugar loaf mountains, and getting out and out with the wifey int camper van in North wales. Let us know how you get on with the release and would be super cool if you wanted to share some of warez with the community in a blog post or something when you are all sorted, as this sounds like something people would appreciate (a community contributor build some GitHub actions for the community too :slightly_smiling_face: ) - no pressure tho > I?m including these binaries in a image that I use as a build agent in Jenkins, so they can be used in a neat way within pipelines

markcox20
2023-03-22 16:11
Yeah will do my best to contribute back

yousafn
2023-03-22 18:46
Hmmm, The binary size is quite a big bigger than before. I've just been sorting out the homebrew build and came across a snag there, and thought I would try out the library, and on OSX at least, I am seeing the same issue with it not finding `json` gem https://github.com/pact-foundation/homebrew-pact-ruby-standalone/issues/87 thats installing the latest version via `curl -fsSL https://raw.githubusercontent.com/pact-foundation/pact-ruby-standalone/master/install.sh | bash` on my mac m1. hmmm will check it out on windows and linux boxes ,as well as an intel mac

yousafn
2023-03-22 18:46
Have you been able to run the binary successfully at all?

yousafn
2023-03-22 18:51
The json gem is there in the downloaded package

yousafn
2023-03-22 19:22
xD things are never simple :sweat_smile: Raised now, https://github.com/pact-foundation/pact-ruby-standalone/issues/94 might need to pull that release!

yousafn
2023-03-22 19:28
marked it as pre-release so it won?t get installed under the latest tag, so it can be investigated.

markcox20
2023-03-23 08:57
Oh no! what a pain, no I hadn?t gotten around to trying it yet unfortunately, hopefully today

markcox20
2023-03-27 13:25
Sorry, only just getting back to this :simple_smile: It would seem the version of rack we graded to, 2.2.6, needs ruby >=2.30, as per https://rubygems.org/gems/rack/versions/2.2.6 Any reason why `pact-ruby-standalone` is down on `2.2.10-alpine` ?

markcox20
2023-03-27 14:56
hmm, maybe that dockerfile isn?t getting used hey

matt.fellows
2023-03-27 22:07
Yeah I think it could be updated to 2.4 now. There might be some other reason why it hasn?t updated

yousafn
2023-04-28 22:49
Passed first time on ARM64 macOS and Linux for Pact-PHP :rocket: That is definitely a first for me :joy: Thank you https://github.com/cirruslabs/cirrus-cli

nickm
2023-05-01 15:06
has joined #pact-ruby-standalone

nickm
2023-05-01 15:08
@yousafn I submitted a PR to update the homebrew formula for the v2.0 packaging, also wanted to give deep thanks here, running on ARM has been a severe pain point for us until now. https://github.com/pact-foundation/homebrew-pact-ruby-standalone/pull/92

yousafn
2023-05-01 15:39
appreciate that dude, will check it out and get it merged. fingers crossed it works well for you, but there may be some gremlins hiding in the closet :sweat_smile: best getting it the hands of users and finding out

edouard.lopez
2023-05-02 14:01
has joined #pact-ruby-standalone

edouard.lopez
2023-05-02 14:09
Using `master` branch at https://github.com/pact-foundation/pact-ruby-standalone/commit/b8c1020f2d8a7d8a624cb23b6fb5da1639932e3f from https://github.com/pact-foundation/pact-ruby-standalone/ to install the CLI is not working any more for us, with error: ```warning: It seems your ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your ruby.``` With broker version ```# PACT_BROKER_CLI: ./pact/bin/pact-broker $ echo "pact-broker version=$(${PACT_BROKER_CLI} version)" pact-broker version=1.66.1``` Looks like https://github.com/pact-foundation/pact-ruby-standalone/pull/100 contains the changes that trigger our error

yousafn
2023-05-02 15:35
Which operating system? Can you try adding `libyaml-dev`

edouard.lopez
2023-05-03 07:57
it's on docker images

yousafn
2023-05-03 07:57
which docker images, there are many

edouard.lopez
2023-05-03 08:05
Internal ones, but we fixed the Pact CLI version for now

yousafn
2023-05-03 08:06
it doesn't matter if they are internal, they still have a distro (distroless still need a kernel)

yousafn
2023-05-03 08:07
if they are debian based, please try my suggestion

yousafn
2023-05-03 08:07
Please understand that we want to help you, but you aren't providing enough information to be useful

yousafn
2023-05-05 08:46
:wave: Just as a heads up, we've switched the `2.0.0` release to a pre-release, so it won't be picked up by the latest install script This will pick up the release marked latest (currently `1.92.0`) ```curl -fsSL https://raw.githubusercontent.com/pact-foundation/pact-ruby-standalone/master/install.sh | bash``` You can now pin to particular versions, even if they are pre-releases, for example. this will get you the `2.0.0` version ```curl -fsSL https://raw.githubusercontent.com/pact-foundation/pact-ruby-standalone/master/install.sh | tag=v2.0.0 bash``` some details here https://github.com/pact-foundation/pact-ruby-standalone/issues/101#issuecomment-1535926311 If you do see any issues, please follow standard process and let us know via the GitHub issues, so we can track and others can see.


joshua.ellis
2023-09-20 06:41
has joined #pact-ruby-standalone

msiles
2023-10-02 16:22
has joined #pact-ruby-standalone

yousafn
2024-02-08 16:08
sorry! lots of noise. Two releases, one reverted (updated to Ruby 3.3.0 and OpenSSL 3.2.0, got some failing SSL tests). One is out though! No more bash required for pact-ruby-standalone