-
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
- Beta Builds of Focus 9000 and Klar 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.
The Beta builds are those that the general public can try out. All these builds have the same version, 9000.0, but of course an incrementing build number.
These builds are picked manually by going in to AppStoreConnect to the TestFlight settings for Focus and Klar and then adding a new build to the Public TestFlight Group group. This build must be a 9000.0 one so usually we just pick the latest available that was created as part of the Nightly task.
When making a build available for testing, TestFlight will ask for a What To Test text. This is shown in the TestFlight app on people's devices when they get notified that a new build is available. We've kept that simple or detailed depending on the build. For example:
- This build is the first release candidate for Focus 98
- In this build we have moved the application menu to the top toolbar for easier access.
- This build features shortcuts to your favorite sites
In general it is nice to give people a bit of feedback on what is new or what they can try out.