Adds GitHub workflow for push events running on Xcode 12.2 and iOS 14.2, tvOS 14.2
Adds GitHub workflow for a pull_request event that runs tests on Xcode 11.6 and iOS 13.6, tvOS 13.4
Updates build.sh script to run on iOS 14.2 simulator as default (keeping up with the times)
Updates build.sh to run iOS as default if running locally or macOS if provided as argument to the script
Adds Xcode 12 workaround script for Carthage
Removes carthage copy-frameworks from macOS test target's build phase and sets search paths instead (it's a test target so it's okay π€·) - apparently macOS shouldn't require copy-frameworks but due to only pulling the dependencies into the test target, we need to tell it where to find them.
β οΈ 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
Running build.sh macos or build.sh macOS locally in CLI will run xcodebuild test for macOS
Running build.sh locally in CLI will run xcodebuild test for iOS
Running build.sh on CI will run on platform based on the matrix in the workflow that sets the PROJECT_NAME (eg: example here)
π Summary of Changes
Changes proposed in this pull request:
push
events running on Xcode 12.2 and iOS 14.2, tvOS 14.2pull_request
event that runs tests on Xcode 11.6 and iOS 13.6, tvOS 13.4build.sh
script to run on iOS 14.2 simulator as default (keeping up with the times)build.sh
to run iOS as default if running locally ormacOS
if provided as argument to the scriptcarthage copy-frameworks
from macOS test target's build phase and sets search paths instead (it's a test target so it's okay π€·) - apparently macOS shouldn't requirecopy-frameworks
but due to only pulling the dependencies into the test target, we need to tell it where to find them.β οΈ 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 forarm64
the dependencies will be missing thearm64
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
build.sh macos
orbuild.sh macOS
locally in CLI will runxcodebuild test
formacOS
build.sh
locally in CLI will runxcodebuild test
foriOS
build.sh
on CI will run on platform based on the matrix in the workflow that sets thePROJECT_NAME
(eg: example here)π¨ How To Test