4.3 KiB
4.3 KiB
Create K-9 Mail releases
One-time setup
- Download
tb-android keystore
from 1Password and place it somewhere outside the root of the Git repository. - Add the following to
~/.gradle/gradle.properties
(create the file if necessary)k9mail.storeFile=<path to keystore> k9mail.storePassword=<password 'tb-android keystore' in 1Password> k9mail.keyAlias=k9mail k9mail.keyPassword=<password 'k9mail@tb-android' in 1Password>
One-time setup for F-Droid builds
- Install fdroidserver by following
the installation instructions.
- On MacOS, it's best to install the latest version from source, because the version in Homebrew has some issues.
- Install the android command line tools if not available already.
brew install --cask android-commandlinetools
- Install latest fdroidserver from source:
python -m venv fdroidserver-env source fdroidserver-env/bin/activate pip install git+https://gitlab.com/fdroid/fdroidserver.git
- To use fdroidserver from the command line, you need to activate the virtual environment before each use:
source fdroidserver-env/bin/activate
- To deactivate the virtual environment:
deactivate
- Install the android command line tools if not available already.
- On MacOS, it's best to install the latest version from source, because the version in Homebrew has some issues.
- Sign up for a Gitlab account and fork the fdroiddata repository.
- Clone your fork of the fdroiddata repository.
Release a beta version
- Update versionCode and versionName in
app-k9mail/build.gradle.kts
- Create change log entries in
app/ui/legacy/src/main/res/raw/changelog_master.xml
app-k9mail/fastlane/metadata/android/en-US/changelogs/${versionCode}.txt
Use past tense. Try to keep them high level. Focus on the user (experience).
- Commit the changes. Message: "Version $versionName"
- Run
./gradlew clean :app-k9mail:assembleRelease --no-build-cache --no-configuration-cache
- Update an existing installation to make sure the app is signed with the proper key and runs on a real device.
adb install -r app-k9mail/build/outputs/apk/release/app-k9mail-release.apk
- Tag as $versionName, e.g.
6.508
- Copy
app-k9mail/build/outputs/apk/release/app-k9mail-release.apk
ask9-${versionName}.apk
to Google Drive (MZLA Team > K9 > APKs) - Change versionName in
app-k9mail/build.gradle.kts
to next version name followed by-SNAPSHOT
- Commit the changes. Message: "Prepare for version $newVersionName"
- Update
gh-pages
branch with the new change log - Push
main
branch - Push tags
- Push
gh-pages
branch
Create release on GitHub
- Go to https://github.com/thunderbird/thunderbird-android/tags and select the appropriate tag
- Click "Create release from tag"
- Fill out the form
- Click "Generate release notes"
- Replace contents under "What's changed" with change log entries
- Add GitHub handles in parentheses to change log entries
- If necessary, add another entry "Internal changes" (or similar) so people who contributed changes outside of the entries mentioned in the change log can be mentioned via GitHub handle.
- Attach the APK
- Select "Set as a pre-release"
- Click "Publish release"
Create release on F-Droid
- Fetch the latest changes from the fdroiddata repository.
- Switch to a new branch in your copy of the fdroiddata repository.
- Edit
metadata/com.fsck.k9.yml
to create a new entry for the version you want to release. Usually it's copy & paste of the previous entry and adjustingversionName
,versionCode
, andcommit
(use the tag name). LeaveCurrentVersion
andCurrentVersionCode
unchanged. Those specify which version is the stable/recommended build. - Commit the changes. Message: "Update K-9 Mail to $newVersionName"
- Run
fdroid build --latest com.fsck.k9
to build the project using F-Droid's toolchain. - Push the changes to your fork of the fdroiddata repository.
- Open a merge request on Gitlab. (The message from the server after the push in the previous step should contain a URL)
- Select the App update template and fill it out.
- Create merge request and the F-Droid team will do the rest.
Create release on Google Play
TODO