Skip to content

CI Setup

Zachary Orr edited this page Oct 5, 2020 · 6 revisions

The Blue Alliance for iOS leverages GitHub Actions for CI, shipping TestFlight builds, shipping App Store builds, updating dSYMs in Firebase Crashlytics, and more. These instructions outline how to reproduce the CI/CD setup for The Blue Alliance for iOS. Also see the fastlane Setup documentation for details on configuring fastlane (match, etc).

Configuring Secrets

In the Settings/Secrets tab, set the following secrets -

FASTLANE_USERNAME/FASTLANE_PASSWORD/MATCH_PASSWORD: Follow the steps in the fastlane Continuous Integration documentation for details on setting these secrets.

MATCH_GIT_REPO: The git repo where the match keys are kept. This format should be https://{github_personal_access_token}@github.com/{org/user}/{repo}.git. The easiest way to authenticate the git url for cloning is by using a GitHub personal access token.

TBA_API_KEY: The TBA API key to use for production (TestFlight and App Store) builds.

SLACK_URL: Used for the fastlane slack Action - the Webhook URL for the Incoming Webhook integration. Follow the "Sending messages using Incoming Webhooks" for details on setting up this integration.

Setting macOS/Xcode Versions

To set a macOS version for the GitHub Actions, change the runs-on directive for a job. At the time of writing, all GitHub Actions run using the macos-latest option.

To set an Xcode version for the GitHub Actions, change the DEVELOPER_DIR env directive. This value should match the Xcode version specified in the Setup guide.

See the list of supported macOS, Xcode, and other software versions can be found in the GitHub Actions macOS virtual environment README. If the README is broken, find the new README in the images/macos folder.

Clone this wiki locally