Release Selector
This command configures the tree in preparation for doing a staging release, and pushes the result to try. The changes that that are made include:
Updating the version number.
Applying the migrations that are done as part of merge day.
Disabling repacking most locales. (This can be disabled by passing
--no-limit-locales).
For staging a beta release, run the following (with an appropriate version number):
$ mach try release --version 64.0b5 --migration main-to-beta
For staging a final release (rc or patch), run the following (with an appropriate version number)
$ mach try release --version 64.0 --migration main-to-beta --migration beta-to-release
Once the decision task is on the push is complete, you can start the release through staging ship-it instance[1].
Note
If pushing from beta or release, the corresponding migration should not be passed, as they have already been applied.
The --tasks flag controls the scope of the try push:
- --tasks staging
(default) Only shippable build-phase tasks (builds, signing, repackaging, PGO profiling) — the minimal set required before triggering a staging release via ShipIt staging.
- --tasks release-sim
Simulates a full release branch push, including tests. Used by sheriffs to look for branch-dependent test failures.