mirror of
https://github.com/deltachat/deltachat-android.git
synced 2025-10-05 02:29:24 +02:00
96 lines
3.3 KiB
Markdown
96 lines
3.3 KiB
Markdown
# Release checklist - generate APK
|
|
|
|
on the command-line:
|
|
|
|
1. update core rust submodule, if needed:
|
|
$ ./tools/update-core.sh
|
|
$ ./tools/clean-core.sh # to be sure nothing gets mixed up
|
|
|
|
2. $ ./ndk-make.sh
|
|
|
|
this will take some time - meanwhile we're doing some housekeeping:
|
|
|
|
3. update translations and local help:
|
|
$ ./tools/tx-pull-translations.sh
|
|
$ cd ../deltachat-pages; ./tools/create-local-help.py; cd ../deltachat-android
|
|
|
|
4. update CHANGELOG.md
|
|
(the core-changelog at
|
|
https://github.com/deltachat/deltachat-core-rust/blob/master/CHANGELOG.md
|
|
and the "N commits to master since last release" on
|
|
https://github.com/deltachat/deltachat-android/releases gives some hints)
|
|
|
|
in Android Studio:
|
|
|
|
5. bump version in gradle.build,
|
|
update _both_, versionCode and versionName
|
|
|
|
6. if `./ndk-make.sh` from step 2. is finished successfully:
|
|
a) select "Build / Generate signed APK"
|
|
(not: App Bundle as this would require uploading the signing key)
|
|
b) select flavor `gplayRelease` with V1 signature enabled
|
|
(needed for easy APK verification), V2 is optional
|
|
|
|
on success, the generated APK is at
|
|
`gplay/release/deltachat-gplay-release-VERSION.apk`
|
|
|
|
|
|
# Upload APK to get.delta.chat
|
|
|
|
7. $ cd gplay/release
|
|
$ rsync deltachat-gplay-release-VERSION.apk jekyll@download.delta.chat:/var/www/html/download/android/
|
|
(you need the private SSH key of the jekyll user; you can find it in this file:
|
|
https://github.com/hpk42/otf-deltachat/blob/master/secrets/delta.chat
|
|
It is protected with [git-crypt](https://www.agwa.name/projects/git-crypt/) -
|
|
after installing it, you can decrypt it with `git crypt unlock`.
|
|
If your key isn't added to the secrets, you can ask on irc add you.
|
|
Add the key to your `~/.ssh/config` for the host, or to your ssh-agent, so rsync is able to use it)
|
|
|
|
8. a) Test the APK yourself.
|
|
The "Testing checklist" gives some hints.
|
|
b) Give the APK to testing groups.
|
|
|
|
|
|
# Release on Play Store
|
|
|
|
on https://play.google.com/apps/publish/ :
|
|
|
|
9. a) open "Delta Chat/Release management/App releases/Production track/Manage"
|
|
then "Create release/Browse files" and select APK from above
|
|
b) fill out "What's new in this release?" (500 characters max)
|
|
c) click "Save" and then "Review"
|
|
d) rollout to 20% by default is fine
|
|
|
|
|
|
# Release new F-Droid version
|
|
|
|
10. make sure, everything is pushed, then:
|
|
$ git tag v1.2.1; git push --tags
|
|
|
|
F-Droid picks on the tags starting with "v" and builds the version.
|
|
This may take some days.
|
|
|
|
|
|
# Release new Amazon Appstore version
|
|
|
|
on https://developer.amazon.com/dashboard :
|
|
|
|
11. a) for "Delta Chat", select tab "Add upcoming version"
|
|
b) at "Description/Edit" add "Release notes" from CHANGELOG.md, "Save"
|
|
c) at "APK Files" hit "Edit" abottom and then "Replace APK" atop,
|
|
upload the APK from above, "Save"
|
|
d) hit "Submit app" at the upper right corner
|
|
|
|
|
|
# Testing checklist
|
|
|
|
Only some rough ideas, ideally, this should result into a simple checklist
|
|
that can be checked before releasing.
|
|
However, although it would be nice to test "everything", we should keep in mind
|
|
that the test should be doable in, say, 10~15 minutes.
|
|
- create new account with (one of?): gmail, yandex, other
|
|
or (?) test an existing account
|
|
- send and receive a message
|
|
- create a group
|
|
- do a contact verification
|
|
- join a group via a qr scan
|