Skip to content
This repository has been archived by the owner on Mar 6, 2024. It is now read-only.

TestFlight

Stefan Arentz edited this page Feb 1, 2022 · 5 revisions

Focus & Klar on TestFlight

This page explains how Focus & Klar are on TestFlight and how that works from a CI perspective.

TestFlight Builds and Groups

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.

Nightly Builds (Focus & Klar 9000.0)

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

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.

Pre-Release Builds

TODO

Clone this wiki locally