Skip to content

Android Prod Release #329

Android Prod Release

Android Prod Release #329

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/deploy-action@v0.1.6
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