Browse Source

Merge pull request #2324 from element-hq/feature/bma/fixReleaseScript

Iterate on the release script and workflow
pull/2325/head
Benoit Marty 8 months ago committed by GitHub
parent
commit
3bbaf7d377
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 42
      docs/install_from_github_release.md
  2. 20
      tools/release/release.sh

42
docs/install_from_github_release.md

@ -4,13 +4,43 @@ This document explains how to install Element X Android from a Github Release. @@ -4,13 +4,43 @@ This document explains how to install Element X Android from a Github Release.
<!--- TOC -->
* [Requirements](#requirements)
* [Steps](#steps)
* [I already have the application on my phone](#i-already-have-the-application-on-my-phone)
* [Installing the universal APK](#installing-the-universal-apk)
* [Instructions](#instructions)
* [Steps](#steps)
* [I already have the application on my phone](#i-already-have-the-application-on-my-phone)
* [Installing from the App Bundle](#installing-from-the-app-bundle)
* [Requirements](#requirements)
* [Steps](#steps)
* [I already have the application on my phone](#i-already-have-the-application-on-my-phone)
<!--- END -->
## Requirements
## Installing the universal APK
### Instructions
The easiest way to install the application from a GitHub release is to use the universal APK which is attached to the release. This APK is compatible with all Android devices, but it is not optimized for any of them. So it may not be as fast as it could be on your device, and it may not be as small as it could be.
Alternatively, you can generate an APK that is optimized for your device. This is explained in the next section.
### Steps
- Open the GitHub release that you want to install from using the Web browser of your phone.
- Download the APK
- Open the APK file from the download notification, or from the file manager
- Follow the steps to install the application
### I already have the application on my phone
If the application was already installed on your phone, there are several cases:
- it was installed from the PlayStore, you can install the universal APK as long as the version is more recent. The existing data should not be lost.
- it was installed from a previous GitHub release, this is like an application upgrade.
- it was installed from a more recent GitHub release, or from the PlayStore with a later version, you will have to uninstall it first.
## Installing from the App Bundle
### Requirements
The Github release will contain an Android App Bundle (with `aab` extension) file, unlike in the Element Android project where releases directly provide the APKs. So there are some steps to perform to generate and sign App Bundle APKs. An APK suitable for the targeted device will then be generated.
@ -31,7 +61,7 @@ You will also need to install [bundletool](https://developer.android.com/studio/ @@ -31,7 +61,7 @@ You will also need to install [bundletool](https://developer.android.com/studio/
brew install bundletool
```
## Steps
### Steps
1. Open the GitHub release that you want to install from https://github.com/element-hq/element-x-android/releases
2. Download the asset `app-release-signed.aab`
@ -55,7 +85,7 @@ bundletool install-apks --apks=./tmp/elementx.apks @@ -55,7 +85,7 @@ bundletool install-apks --apks=./tmp/elementx.apks
That's it, the application should be installed on your device, you can start it from the launcher icon.
## I already have the application on my phone
### I already have the application on my phone
If the application was already installed on your phone, there are several cases:

20
tools/release/release.sh

@ -237,8 +237,8 @@ printf "Unzipping the artifact...\n" @@ -237,8 +237,8 @@ printf "Unzipping the artifact...\n"
unzip ${targetPath}/elementx-app-gplay-bundle-unsigned.zip -d ${targetPath}
unsignedBundlePath="${targetPath}/app-release.aab"
signedBundlePath="${targetPath}/app-release-signed.aab"
unsignedBundlePath="${targetPath}/app-gplay-release.aab"
signedBundlePath="${targetPath}/app-gplay-release-signed.aab"
printf "\n================================================================================\n"
printf "Signing file ${unsignedBundlePath} with build-tools version ${buildToolsVersion} for min SDK version ${minSdkVersion}...\n"
@ -291,6 +291,19 @@ else @@ -291,6 +291,19 @@ else
printf "APKs will not be generated!\n"
fi
printf "\n================================================================================\n"
printf "Create the open testing release on GooglePlay.\n"
printf "On GooglePlay console, go the the open testing section and click on \"Create new release\" button, then:\n"
printf " - upload the file ${signedBundlePath}.\n"
printf " - copy the release note from the fastlane file.\n"
printf " - download the universal APK, to be able to provide it to the GitHub release: click on the right arrow next to the \"App bundle\", then click on the \"Download\" tab, and download the \"Signed, universal APK\".\n"
printf " - submit the release.\n"
read -p "Press enter to continue. "
printf "You can then go to \"Publishing overview\" and send the new release for a review by Google.\n"
read -p "Press enter to continue. "
printf "\n================================================================================\n"
githubCreateReleaseLink="https://github.com/element-hq/element-x-android/releases/new?tag=v${version}&title=Element%20X%20Android%20v${version}&body=${changelogUrlEncoded}"
printf "Creating the release on gitHub.\n"
@ -299,11 +312,12 @@ printf "Then\n" @@ -299,11 +312,12 @@ printf "Then\n"
printf " - copy paste the section of the file CHANGES.md for this release (if not there yet)\n"
printf " - click on the 'Generate releases notes' button\n"
printf " - Add the file ${signedBundlePath} to the GitHub release.\n"
printf " - Add the universal APK, downloaded from the GooglePlay console to the GitHub release.\n"
read -p ". Press enter to continue. "
printf "\n================================================================================\n"
printf "Message for the Android internal room:\n\n"
message="@room Element X Android ${version} is ready to be tested. You can get it from https://github.com/element-hq/element-x-android/releases/tag/v${version}. Installation instructions can be found [here](https://github.com/element-hq/element-x-android/blob/develop/docs/install_from_github_release.md). Please report any feedback. Thanks!"
message="@room Element X Android ${version} is ready to be tested. You can get it from https://github.com/element-hq/element-x-android/releases/tag/v${version}. You can install the universal APK. If you want to install the application from the app bundle, you can follow instructions [here](https://github.com/element-hq/element-x-android/blob/develop/docs/install_from_github_release.md). Please report any feedback. Thanks!"
printf "${message}\n\n"
if [[ -z "${elementBotToken}" ]]; then

Loading…
Cancel
Save