DiUS / pact-consumer-swift

A Swift / ObjeciveC DSL for creating pacts.
MIT License
98 stars 43 forks source link

chore: Migrate CI pipeline to GitHub Actions (#105) #107

Closed surpher closed 3 years ago

surpher commented 3 years ago

πŸ“ Summary of Changes

Changes proposed in this pull request:

⚠️ Items of Note

Resolves #105

Apple Silicon architecture is still not fully supported by all the tools we're using daily. The Carthage workaround is one we still need to utilise. Also, when building/testing for Release configuration, we can only build for active architecture (x86_64), otherwise when building for arm64 the dependencies will be missing the arm64 slice (because Carthage didn't build them) and the project will not build.

Once this PR is merged a GitHub Action will be triggered here. Only once it's triggered, the build badge option will be available and should be updated in the README.md file.

Once this PR is merged and build jobs are available in GitHub Actions, the master branch settings for required checks should be updated for the new CI pipeline.

Using any Xcode older than 11.6 fails to install build tools with error stating Xcode is too old and should install 12.2. This is due to GitHub actions only supporting macOS 10.15 - tried to use runs on: macos-10.14 but CI failed as the runner, oddly, wasn't available.

πŸ§πŸ—’ Reviewer Notes

@andrewspinks you will need to set the AUTH_TOKEN (I guess you can copy it from TravisCI settings?) in this project's Settings > Secrets in order to trigger Demo Projects builds. But it might make sense to migrate those projects to GitHub Actions (or somewhere else) too as they are still triggered on TravisCI.

The required check on this PR might not work as Travis CI config has been removed.

πŸ’ Example

πŸ”¨ How To Test