-
Notifications
You must be signed in to change notification settings - Fork 263
Creating Releases
This page is meant as guidance for all future releases to ensure we do not forget any crucial steps. It is assumed that by this point you have already exported strings for l10n to localize, and tested thoroughly.
The steps below describe how to create a new major release:
Try to prevent uplifting patches as much as possible.
Create a release branch with the name releases_vXX
where XX is the major version number we want to ship. This can be done through git CLI or IDE or simply on the GitHub website.
See also Branches & Tags
Set the version number to XX in the following files by modifying the CFBundleShortVersionString
key.
Blockzilla/Info.plist
ContentBlocker/Info.plist
FocusIntentExtension/Info.plist
OpenInFocus/Info.plist
Widgets/Info.plist
This can also be done with the focus-ios/focus-ios-tests/tools/set-version.sh
command:
$ focus-ios/focus-ios-tests/tools/set-version.sh 99.0
Changing CFBundleShortVersionString in Blockzilla/Info.plist from 9000 to 99.0
Changing CFBundleShortVersionString in ContentBlocker/Info.plist from 9000 to 99.0
Changing CFBundleShortVersionString in FocusIntentExtension/Info.plist from 9000 to 99.0
Changing CFBundleShortVersionString in OpenInFocus/Info.plist from 9000 to 99.0
Changing CFBundleShortVersionString in Widgets/Info.plist from 9000 to 99.0
Commit this as Version bump to XX.0
. Example commit for the v35 release.
- In focus-ios/Blockzilla.xcodeproj/project.pbxproj set the
rust-components-swift.git
version
to [major-version].0.0 - In focus-ios/Blockzilla.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved set the
rust-components-swift.git
revision
to the commit hash for the swift release andversion
to [major-version].0.0 - The commit hash is found in the corresponding swift release in rust-components-swift/releases
- Create a commit named
Upgrades appservices to [major-version].0
for this change. - Create a pull request.
As a final step, create a release through the GitHub website:
- Tag: v110.0
- Branch: releases_v110
- Name: Focus / Klar v110.0
- Description: "v110"
- Prerelease: Yes
See previous releases for examples of descriptions.
Once a release is created, the tag will trigger CI and a release build of both Focus and Klar will be built and pushed to AppStoreConnect. From there the build can be picked for an App Store or TestFlight release.