Android Prod Release #347
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Android Prod Release | |
on: | |
workflow_dispatch: | |
inputs: | |
tramline-input: | |
description: "Tramline input" | |
required: false | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
env: | |
TERM: dumb | |
ORG_GRADLE_PROJECT_READER_KEYSTORE_PASSWORD: ${{ secrets.READER_KEYSTORE_PASSWORD }} | |
ORG_GRADLE_PROJECT_READER_KEY_PASSWORD: ${{ secrets.READER_KEY_PASSWORD }} | |
BUGSNAG_API_KEY: ${{ secrets.BUGSNAG_API_KEY }} | |
steps: | |
- name: Configure Tramline | |
id: tramline | |
uses: tramlinehq/[email protected] | |
with: | |
input: ${{ github.event.inputs.tramline-input }} | |
- name: Setup versionName regardless of how this action is triggered | |
id: version_name | |
run: | | |
WORKFLOW_INPUT=${{ steps.tramline.outputs.version_name }} | |
VERSION_NAME=${WORKFLOW_INPUT:-"1.0.0"} | |
echo "ORG_GRADLE_PROJECT_VERSION_NAME=$VERSION_NAME" >> $GITHUB_ENV | |
- name: Setup versionCode regardless of how this action is triggered | |
id: version_code | |
run: | | |
WORKFLOW_INPUT=${{ steps.tramline.outputs.version_code }} | |
VERSION_CODE=${WORKFLOW_INPUT:-"1"} | |
echo "ORG_GRADLE_PROJECT_VERSION_CODE=$VERSION_CODE" >> $GITHUB_ENV | |
- name: Setup JDK 20 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: 20 | |
distribution: zulu | |
cache: 'gradle' | |
- name: Decrypt secrets | |
run: gpg --batch --yes --quiet --decrypt --passphrase=${{ secrets.KEYSTORE_ENCRYPT_KEY }} --output release/reader.jks release/reader.gpg | |
- name: Build release artifacts | |
run: ./gradlew --no-daemon androidApp:bundleRelease androidApp:assembleRelease | |
- name: Upload Release Bundle | |
uses: actions/upload-artifact@v4 | |
with: | |
name: release.aab | |
path: androidApp/build/outputs/bundle/release/androidApp-release.aab | |
- name: Upload Release APK | |
uses: actions/upload-artifact@v4 | |
with: | |
name: release.apk | |
path: androidApp/build/outputs/apk/release/androidApp-release.apk | |
- name: Clean secrets | |
run: | | |
rm -f release/app-release.jks |