<#105 Ruby 3.1.2 Traveling Ruby + Package with 3.1...
# pact-ruby-standalone
g
#105 Ruby 3.1.2 Traveling Ruby + Package with 3.1.4 Pull request opened by YOU54F Aim • Use Ruby 3.1.2
traveling-ruby
due to errors in
3.2.2
seen in
pact_mock-service
• Identify all consumers of
pact-ruby-standalone
• Document "Rube Goldberg" machine for • Pact Ruby Reference Core as referenced here in the dependency graph of doom • Update all affected repos • Test all affected repos Note:- For full background, multi-repo tracking, see pact-foundation/devrel#10 Why? • Users of our pact-ruby-standalone project, have been stuck on a packaged Ruby 2.4 run-time due to the build system traveling-ruby, being out-of-maintainence. It has been revived by your very own Devo Avo, into the 21st century with • Update to Ruby 3.1.2 & 3.2.2 • Support for Arm64 Darwin • Support for Aarch64 Linux • Support for x86 and x64 windows What happened? • pact-ruby-standlaone 2.0.0 was released • Issues identified by users / maintainers • Requirement to install
libyaml-dev
for debian based users • Error when writing pact files for
pact-go-v1
where users are asked to pin the version of the standalone, but provided a script which returns the latest. Root cause? • An error in
pact_mock-service
was reproducible in CI, when using Ruby
3.2.2
• Downgrading to Ruby
3.1.2
resolved the issue. Related issuesrapid7/metasploit-framework#17593 What is this PR doing? • Releasing pact-ruby-standalone with ruby
3.1.2
• Updated the release note process so we • Provide install support via our script for windows users • Provide a more complete autogenerated README, which is committed back to the repo at release time Ruby Goldberg Machine graph TD; pact-support; pact-support-->pact-mock_service; pact-support-->pact-message; pact-mock_service-->pact-message; pact-message-->pact-provider-verifier; pact-->pact-provider-verifier; pact_broker-client; pact-->pact-ruby-standalone; pact-mock_service-->pact-ruby-standalone; pact-support-->pact-ruby-standalone; pact-provider-verifier-->pact-ruby-standalone; pact_broker-client-->pact-ruby-standalone; pact-message-->pact-ruby-standalone; pact-->pact-ruby-cli; pact-ruby-standalone-->homebrew-pact-ruby-standalone; pact-ruby-standalone-->pact-python; pact-ruby-standalone-->pact-php; pact-ruby-standalone-->pact-node-->pact-js-v9; pact-js-v9-->jest-pact; pact-js-v9-->mocha-pact; pact-js-v9-->nestjs-pact; pact-ruby-standalone-->pact-go-v1; pact-ruby-standalone-->pact-net; pact-ruby-standalone-->pact-consumer-swift; Ruby Standalone Consumers Goldberg Machine graph TD; pact-->pact-ruby-standalone; pact-mock_service-->pact-ruby-standalone; pact-support-->pact-ruby-standalone; pact-provider-verifier-->pact-ruby-standalone; pact_broker-client-->pact-ruby-standalone; pact-message-->pact-ruby-standalone; pact-ruby-standalone-->homebrew-pact-ruby-standalone; pact-ruby-standalone-->pact-python; pact-ruby-standalone-->pact-php; pact-ruby-standalone-->pact-node-->pact-js-v9; pact-js-v9-->jest-pact; pact-js-v9-->mocha-pact; pact-js-v9-->nestjs-pact; pact-ruby-standalone-->pact-go-v1; pact-ruby-standalone-->pact-net; pact-ruby-standalone-->pact-consumer-swift; Pact Ruby Standalone components • Pact Broker Client • pact-foundation/pact_broker-client#134 • Pact Provider Verifier • pact-foundation/pact-provider-verifier#103 • Pact Support • pact-foundation/pact-support#98 • Pact Message Ruby • pact-foundation/pact-message-ruby#22 • Pact Mock Service • pact-foundation/pact-mock_service#141 • Pact Ruby • pact-foundation/pact-ruby#292pact-foundation/pact-ruby#293 Pact Ruby Standalone Consumers Versions Tested using • traveling ruby release https://github.com/YOU54F/traveling-ruby/releases/tag/rel-20230504 • with Ruby 3.1.2 • pact-ruby-standalone release https://github.com/YOU54F/pact-ruby-standalone/releases/tag/v2.2.1 • with Ruby 3.1.4 Test runs • homebrew-pact-ruby-standalone • x86_64 • arm64 • pact-python • x86_64 https://github.com/YOU54F/pact-python/actions/runs/4941346866 • arm64 https://cirrus-ci.com/build/6108629787475968 • pact-node • x86_64 https://github.com/YOU54F/pact-js-core/actions/runs/4941248126 • arm64 https://cirrus-ci.com/build/5418915182936064 • pact-js-core • x86_64 https://github.com/YOU54F/pact-js-core/actions/runs/4941170981 • arm64 https://cirrus-ci.com/build/5969803895111680 • pact-php • x86_64 https://github.com/YOU54F/pact-php/actions/runs/4941467873 • arm64 https://cirrus-ci.com/build/5862300863692800 • pact-go-v1 • x86_64 https://github.com/YOU54F/pact-go/actions/runs/4941862361 • arm64 https://cirrus-ci.com/build/6622000215490560 • pact-net • x86_64 • arm64 • pact-consumer-swift • x86_64 • arm64 • example-consumer-golang • https://github.com/pactflow/example-consumer-golang/actions/runs/4941971784 Pull requests to consume new 3.1.2 package
note - Some PR's are merged to consumer the
3.2.2
runtime and will be updated, and raised as new PR's to consume this
3.1.2
runtime
• Homebrew Pact Ruby Standalone • pact-foundation/homebrew-pact-ruby-standalone#92 • Pact-Js-Core • 9.x • https://github.com/pact-foundation/pact-js-core/tree/pact-node • 13.x • pact-foundation/pact-js-core#445 • Pact-Python • pact-foundation/pact-python#342 • Pact-PHP • pact-foundation/pact-php#309 pact-foundation/pact-ruby-standalone All checks have passed 16/16 successful checks