feat: add GitHub Actions workflow for release builds

- Build APK automatically when a release is published
- Upload APK as release asset
- Support custom keystore signing via GitHub secrets
- Fall back to debug signing when secrets not configured
This commit is contained in:
Davide Ferrari
2025-12-22 11:52:28 +01:00
parent cc5222c216
commit edb1dac9a4
4 changed files with 79 additions and 4 deletions

42
.github/workflows/release.yml vendored Normal file
View File

@@ -0,0 +1,42 @@
name: Build Release APK
on:
release:
types: [published]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Decode keystore
if: ${{ env.KEYSTORE_BASE64 != '' }}
env:
KEYSTORE_BASE64: ${{ secrets.KEYSTORE_BASE64 }}
run: |
echo "$KEYSTORE_BASE64" | base64 -d > app/release.keystore
- name: Build Release APK
env:
KEYSTORE_BASE64: ${{ secrets.KEYSTORE_BASE64 }}
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
run: ./gradlew assembleRelease
- name: Upload APK to release
uses: softprops/action-gh-release@v2
with:
files: app/build/outputs/apk/release/app-release.apk