Skip to content

Publish Android APK

Publish Android APK #2

Workflow file for this run

name: Publish Android APK
on:
push:
tags:
- v*
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Cache Gradle and wrapper
uses: actions/cache@v2
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
distribution: 'corretto'
java-version: 17
- name: Generate Keystore files from Github Secrets
run: |
echo "${{ secrets.APP_KEYSTORE_BASE64 }}" > ./keystore.b64
base64 -d -i ./keystore.b64 > ./${{ secrets.KEYFILE }}
cp ./${{ secrets.KEYFILE }} ./app/${{ secrets.KEYFILE }}
- name: Build Signed APK
run: |
bash ./gradlew assembleRelease \
-Pandroid.injected.signing.store.file=${{ secrets.KEYFILE }} \
-Pandroid.injected.signing.store.password=${{ secrets.STORE_PASSWORD }} \
-Pandroid.injected.signing.key.alias=${{ secrets.KEY_ALIAS }} \
-Pandroid.injected.signing.key.password=${{ secrets.KEY_PASSWORD }} \
--stacktrace
- name: Upload Release Build to Artifacts
uses: actions/upload-artifact@v3
with:
name: release-artifacts
path: app/build/outputs/apk/release/
- name: Create Github Release
uses: softprops/action-gh-release@v1
with:
generate_release_notes: true
files: |
app/build/outputs/apk/release/app-release.apk