Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 60da4f06 authored by Philipp Kewisch's avatar Philipp Kewisch
Browse files

Add more documentation to release automation

parent 55626e12
Loading
Loading
Loading
Loading
+46 −2
Original line number Diff line number Diff line
@@ -9,6 +9,37 @@ application and release type.
There is a script available for automatic setup, which is helpful if you want to replicate this on
your own repository for devlopment. Please see /scripts/setup_release_automation.

You can run it using:

```bash
python -m venv venv
source venv/bin/activate
pip install requests pynacl
cd .signing
python ../scripts/setup_release_automation -r yourfork/thunderbird-android
```

You will need the following files:

- The signing keys with their default filenames
- A matrix-account.json with the following keys:

```
{
  "homeserver": "matrix-client.matrix.org",
  "room": "room id here",
  "token": "matrix token here",
  "userMap": {
    "github_username": "@matrix_id:mozilla.org"
  }
}

```

- `play-store-account.json` with the service account json that will do the uploads
- `thunderbird-mobile-gh-releaser-bot.clientid.txt` as a simple file with the client ID of the releaser bot (you can skip this to use GitHub Actions as the user)
- `thunderbird-mobile-gh-releaser-bot.pem` with the private key of the releaser bot

## Build Environments

Build environments determine the configuration for the respective release channel. The following are
@@ -33,7 +64,7 @@ The following MATRIX_INCLUDES would build an apk and aab for Thunderbird, and an
    "packageFormat": "bundle",
    "packageFlavor": "full"
  },
  { "appName": "k9mail", "packageFormat": "apk" }
  { "appName": "k9mail", "packageFormat": "apk", "packageFlavor": "foss" }
]
```

@@ -46,7 +77,7 @@ These environments contain the secrets for signing. Their names follow this patt
    <appName>_<releaseType>_<packageFlavor>
    thunderbird_beta_full
    thunderbird_beta_foss
    k9mail_beta_default
    k9mail_beta_foss

The following secrets are needed:

@@ -75,3 +106,16 @@ to upload the release with limited permissions.
- RELEASER_APP_PRIVATE_KEY: Secret with the private key of the app

The releases environment is locked to the release, beta and main branches.

If you leave out the environment, the Github Actions user will be used.

## Matrix Notify Environment

This environment will notify about build updates. It requires the following keys:

- MATRIX_NOTIFY_TOKEN: The Matrix token of the user
- MATRIX_NOTIFY_HOMESERVER: The homeserver for the account
- MATRIX_NOTIFY_ROOM: The room id to notify in
- MATRIX_NOTIFY_USER_MAP: A json object that maps github usernames to matrix ids

If you leave out this environment, no notifications will be sent.
+1 −1
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
# See docs/CI/Release_Automation.md for more details
# Run this from the .signing directory with all the keys and properties files in it.

# python -m venv venv; source venv/bin/activate; pip install requests, pynacl
# python -m venv venv; source venv/bin/activate; pip install requests pynacl

import os
import json