Skip to content

Commit 64871e3

Browse files
committed
Add documentation about nightly build.
1 parent b3e8612 commit 64871e3

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

docs/nightly_build.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Nightly builds
2+
3+
<!--- TOC -->
4+
5+
* [Configuration](#configuration)
6+
* [How to register to get nightly build](#how-to-register-to-get-nightly-build)
7+
* [Build nightly manually](#build-nightly-manually)
8+
9+
<!--- END -->
10+
11+
## Configuration
12+
13+
The nightly build will contain what's on develop, in release mode, for Gplay variant. It is signed using a dedicated signature, and has a dedicated appId (`im.vector.app.nightly`), so it can be installed along with the production version of Element Android. The only other difference compared to Element Android is a different app icon background. We do not want to change the app name since it will also affect some strings in the app, and we do want to do that.
14+
15+
Nightly builds are built and released to Firebase every days, and automatically.
16+
17+
This is recommended to exclusively use this app, with your main account, instead of Element Android, and fallback to Element Android just in case of regression, to discover as soon as possible any regression, and report it to the team. To avoid double notification, you may want to disable the notification from the Element Android production version. Just open Element Android, navigate to `Settings/Notifications` and uncheck `Enable notifications for this session`.
18+
19+
*Note:* Due to a limitation of Firebase, the nightly build is the universal build, which means that the size of the APK is a bit bigger, but this should not have any other side effect.
20+
21+
## How to register to get nightly build
22+
23+
Provide your email to the Android team, who will add it to the list "External testers" on Firebase. You will then receive an invite on the provided email.
24+
25+
Follow the instructions on the email to install the latest nightly build. This is not clear yet if new nightly build will be automatically installed or not.
26+
27+
## Build nightly manually
28+
29+
Nightly build can be built manually from your computer. You will need to retrieved some secrets from Passbolt and add them to your file `~/.gradle/gradle.properties`:
30+
31+
```
32+
signing.element.nightly.storePassword=VALUE_FROM_PASSBOLT
33+
signing.element.nightly.keyId=VALUE_FROM_PASSBOLT
34+
signing.element.nightly.keyPassword=VALUE_FROM_PASSBOLT
35+
```
36+
37+
You will also need to add the environment variable `FIREBASE_TOKEN`:
38+
39+
```sh
40+
export FIREBASE_TOKEN=VALUE_FROM_PASSBOLT
41+
```
42+
43+
Then you can run the following commands (which are also used in the file for [the GitHub action](../.github/workflows/nightly.yml)):
44+
45+
```sh
46+
git checkout develop
47+
mv towncrier.toml towncrier.toml.bak
48+
sed 's/CHANGES\.md/CHANGES_NIGHTLY\.md/' towncrier.toml.bak > towncrier.toml
49+
rm towncrier.toml.bak
50+
yes n | towncrier --version nightly
51+
./gradlew assembleGplayNightly appDistributionUploadGplayNightly $CI_GRADLE_ARG_PROPERTIES --stacktrace
52+
```
53+
54+
Then you can reset the change on the codebase.

0 commit comments

Comments
 (0)