Skip to main content

Pact Open Source Update — October 2023

· 9 min read

👻 Happy Halloween all! This month you can look forward to our round up of all things Pactober that happened this month to celebrate 10 years of Pact and the usual open-source updates from across the Pact ecosystem.

Pactober

Your 🗺️ to the months events.

Pactober Workshops

Want to learn more about Pact, how it works, and how you can get hands-on?

Watch one, or the series of workshops over on our YouTube channel & check out the supporting material

OSS Updates

  • Pact Rust
  • Pact PHP
  • Pact Python
  • Pact Go
  • Pact Mock Service
  • Pact Broker

Pact PHP

Tien Vo showcased the work he has been doing in Pact-PHP during our Pactober birthday bash, you can check it out 📺 here.

However if you just want to jump into the code, Tien has published a new release 10.0.0-alpha3

You can find lots of examples in the ffi branch showcasing the new functionality.

Check out the merged pull requests, for all the latest work to date, and the open pull requests for anything you can help review!

Pact Python

Joshua Ellis said Hello World to the Pact community during our Pactober birthday bash, you can check it out 📺 here.

He has also been super busy in the world of Pact-Python where we've seen a hive of activity.

Josh published his first release, v2.1.0 which is the first to include pre-built wheels published to GitHub.

This release also drops support for Python 3.6 and 3.7, allowing for improvements to the build-system that will keep Pact-Python healthy and maintainable long into the future.

Josh is now working on implementing the FFI feature set, in order to deliver v3 and v4 Pact functionality to the Pact-Python project, which can be tracked in the following issue

If you want to get involved, why not reach out via the GitHub repo, or via #Pact-Python Slack channel.

You'll also notice new issue templates, and labelling across the project, which should hopefully make the triaging process slicker for everyone. Please feel free to try it out and give us feedback, good, bad or ugly!

Pact Go

Stanislav Vodetskyi helped deliver both a fix and an enhancement to Pact-Go

Alex also managed to add a change to our v1 (Ruby-backed) pact-go implementation, which will help him out with running multiple pact verifiers in parallel.

Are you using Pact-Go v2? Fancy lending a hand updating the pact-go workshop, to use pact-go v2?

Let me know, and I'm sure I can dig up some swag!

Pact Mock Service

As our Pact ruby ecosystem progressed onto Ruby 3.x, it allowed Pact-mock_service to be updated to provide compatibility with Rack 3.

This was kindly provided by provided in this PR via Adam Forsyth.

Pact Broker

Ben Brugman made his first PR ever :hooray: - This one upgraded Supercronic, which is a core dependency in our Pact Broker Docker image.

Pact in the wild

Sngular OSS presents PactBuilderDSL for Java users

PactBuilderDSL is a Java library that automates the generation of DSL for bodies in contract definition.

Do you struggle with writing the body validations for contract testing? If you're working with Java... I'm pretty sure you do.

It's pretty common to have huge methods with very similar code to generate them.

This is a need the Sngular team have detected many times not only in the community but also with our clients.

If all this is familiar to you, and you're interested in learning more, watch their talk on 📺 PactBuilderDSL.

Itching to see the code? You can see it in their GitHub repo sngular/pact-annotation-processor and published to the Maven repository.

How we reached Pact Nirvana

Nathan Deamer, long time friend and Pact advocate, works over at GoCity where he looks after a team of incredible engineers.

We remember Barry Irvine's post from February about his adventures with Pact & Android.

Nathan shows us Pact through a wider lense at GoCity, as he shows us how they reached Pact Nirvana. It's a great read and motivating if you are on your own Pact journey yourself.

Check it out here

Community Corner - Jo Laing

If you have tuned in you the Pactober events, you'll probably be bored of my voice, so how about hearing from the lovely Jo Laing, your Pact community manager.

Hello Jo, without further ado, you’ve been getting to know the Pact community this year, how’s it all been going?

I can’t deny on being a little apprehensive having come from managing the Cucumber community group where I am super comfortable and familiar, so it was a relief when I realised this community was actually a very similar space and I even recognised some of the member names from the Cucumber community which has helped me join some dots between Cucumber/BDD and Pact/Contract Testing (win, win). Having the support of the amazing team at Pact has been a big bonus too. I’ve also had to face my fear of GitHub and am happy to say it’s honestly not as bad as I thought 😉

Can you tell us anything about what’s coming up for the Pact community?

We’ve started hosting a weekly maintainers community meeting (Check out the open agenda here) which a few maintainers attend. I’d love to see more attendee’s at those meetings and foster those relationships to build a healthy core maintainer group.

GitHub triage is the next big focus for the group. Pact has many repositories so we need to do some housekeeping and get a process in place for managing those.

Looking forward to 2024, there will also be a focus on improving and sharing the educational material we have around Pact and contract testing to help guide people who are interested/starting out.

I’d also love to host more Fireside Chat type sessions too, as the session we held at Pactober was just getting juicy when we had to call time. Reach out to me if this appeals to you.

We worked together to deliver the Pactober event this month 🙌 what were your highlights from the event?

Oh so many! Jamming with you on the organisation of the event was fun! I really enjoyed the freedom we had to manage the whole event end to end. Meeting the speakers was awesome too, what a lovely bunch of people. I’d like to give a big thanks and shout out to everyone from the community involved who helped deliver the event.

I’m excited to see what we can all collaborate on in the future.

Your role changed this year to Open Source Community Manager at SmartBear and you now have three open source communities to shepherd – how is that shaping up?

Yes, I’ve been set quite a challenge here! Alongside the Cucumber and Pact open source communities, I’ve also been tasked with trying to establish a new community group for another of SmartBear's open source tools, Swagger. Now the Pactober event is mostly wrapped up, I have more time to focus on the planning and setting up of whatever works for this group - so lots of outreach, asking, listening and experimenting with our Swagger users in order to shape up the right community setting. So much to do!

So much to do indeed Jo, thank you for taking the time to share with the readers! Couldn't have done this event without you, and looking forward to helping share some of the support, in your journey with the Swagger community and beyond.

Community Events

Are you hosting a Pact event? Let us know and we can feature it in the blog and list it on our events section.

Thats a wrap

That’s it for this month. Stay safe and carry on coding!

  • Yousaf Nabi — Developer Advocate at PactFlow and Community Shepherd at Pact.