-
Notifications
You must be signed in to change notification settings - Fork 263
TestFlight
This page explains how Focus & Klar are on TestFlight and how that works from a CI perspective.
Both Focus and Klar are on TestFlight. We have both internal groups (for Mozillians with an AppStore Connect account like developers and QA) and also external groups for public beta testing.
We send three kinds of builds to TestFlight:
- Nightly Builds of Focus 9000 to our Internal Testers
- Release Builds like Focus 97.0 and Focus 98.0-RC.1 to our Internal Testers
- Pre-release Builds of Focus 9000 to our Public Testers
Focus 9000 exists to make it easier to send builds to TestFlight without needing to ask Apple for a review every time we upgrade the version number of Focus.
Every night, through a Bitrise periodic task, we run the release
plan on the main
branch. This will result in a Focus & Klar 9000 build and the release
plan will push it automatically to TestFlight.
Because of the Build Distribution: Automatic for Xcode Builds setting on the two internal test group, those builds will immediately go to all our internal testers. The primary use is Developers and QA who then have easy access to a release-type build of the latest code.
Sometimes it is needed to do an additional build during the day. This can be easily done by going into the Bitrise dashboard and triggering a manual release
build from the main
branch. It takes about 10 minutes for the build to be pushed to AppStoreConnect and then some random time for the build to be processed and sent to TestFlight. That process is fully automatic - no manual steps are needed except to trigger a build.
Release builds that are triggered through the process described in New Release Checklist also appear on TestFlight and are available to people in the Internal Testing group. This is useful for QA to do a final sign off on a build that we pick for the App Store.
These builds are triggered in Bitrise through the creation of a release tag. The Bitrise plan that is executed is the same release
plan as for Nightly builds, except it will build from a tag on a release branch.
Note that Release Builds do not go to public testers. They are only for internal verification.
TODO