pact-foundation / pact-go

Golang version of Pact. Pact is a contract testing framework for HTTP APIs and non-HTTP asynchronous messaging systems.
http://pact.io
MIT License
828 stars 103 forks source link

ci: add workflow to update on pact-ffi-released events #379

Closed YOU54F closed 3 months ago

YOU54F commented 3 months ago

Aim:- Provide a CI workflow, that can be triggered on release of the Pact FFI library.

Relates to https://github.com/pact-foundation/pact-reference/issues/375 , specifically Trigger dependant client libraries workflows to raise PR's

This change borrows from the existing update workflow on release of the pact-ruby-standalone.

Places to change (outside this repo)

  1. Release point in Pact-reference project
    1. https://github.com/pact-foundation/pact-reference/blob/fc33ad23e78698ecf1fb55eedb7dc228f96def17/.github/workflows/release.yml#L74-L81
  2. Example Release

    1. https://github.com/pact-foundation/pact-reference/releases/tag/libpact_ffi-v0.4.14

    Points to note

    Our ci workflow for verification .github/workflows/test.yml is not triggered by updates. See related issue and workarounds

    Note: - the above issue is long-standing from the existing updates, at least from my quick scan of the test runs, I couldn't see triggered when the ruby core was updated, bar those triggered manually from the UI against the branch

    There are a couple of workarounds that are probably feasible. first one probably preferred at the moment as we get a visual cue somewhere outside of the actions/email notifications. The triggering repo (pact-reference) won't get a notification back regarding the failing status of a build in pact-js where it was triggered by a bot or a human

    • close PR and reopen from UI
    • have the update workflow that is initially triggered, run the tests as part of its workflow
coveralls commented 3 months ago

Coverage Status

coverage: 37.2%. remained the same when pulling 3b310af7548daa73ea26a0095ebbe2e098bf8d41 on ci/ffi_upgrade into 7acfdced49087a8fb312650df02e785eabf3ec1f on master.