π» 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.
- πΊ : Improving Software Quality with Contract Testing and Pact with Seb Rose
- πΊ : Opening Keynote - Testing The Boundaries - Sam Newman
- πΊ : Fireside chat Featuring Bas Dijkstra, Lewis Prescott & Dave Farley
- πΊ : Hello from the Pact Core Team with Beth Skurrie, Ron Holshousen & Matt Fellows
- πΊ : Pact Updates - Matt Fellows
- πΊ : Pact Blog - Yousaf Nabi
- πΊ : Pact PHP - Tien Vo
- πΊ : Pact Python - Joshua Ellis
- πΊ : Pact TAU Course - Rafaela Avezedo
- πΊ : Keynote - Beware the Integrated Tests Scam: A Retrospective And An Apology - J.B. Rainsberger
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
- πΊ Pactober Workshop 1 - HTTP Pact
- πΊ Pactober Workshop 2 - Message Pact
- πΊ Pactober Workshop 3 - Plugin Pact
- πΊ Pactober Workshop 4 - How Pact is built
- Pact Specification
- Pact Feature Support
- Pact Ecosystem
- Pact Language Guides
- Pact Compatibility Suite
- FFI Wiki
- FFI OmniBus
- C DataTypes Wiki
- Pact FFI Online Docs via Docs.rs:
- Pact FFI Code
- Pact FFI Releases (Look for
libpact_ffi-v<release version>
)
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.