Skip to content

Fix bug

Fix bug #3

Workflow file for this run

name: Build & Publish Signed Release
on:
workflow_dispatch:
push:
branches:
- release-test
permissions:
contents: write
env:
MAIN_MODULE: app
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "17"
cache: gradle
- name: Setup Android SDK
uses: android-actions/setup-android@v3
- name: Install required Android build-tools
run: sdkmanager "build-tools;34.0.0" "platform-tools"
- name: Make Gradle executable
run: chmod +x ./gradlew
- name: Create local.properties
run: |
echo "MAPS_API_KEY=${{ secrets.MAPS_API_KEY }}" > local.properties
- name: Build Release APK + AAB
run: |
./gradlew :${{ env.MAIN_MODULE }}:assembleRelease :${{ env.MAIN_MODULE }}:bundleRelease
- name: Sign release APK
id: sign_apk
uses: r0adkll/sign-android-release@v1
env:
BUILD_TOOLS_VERSION: "34.0.0"
with:
releaseDirectory: ${{ env.MAIN_MODULE }}/build/outputs/apk/release
signingKeyBase64: ${{ secrets.SIGNING_KEYSTORE_BASE64 }}
alias: ${{ secrets.SIGNING_KEY_ALIAS }}
keyStorePassword: ${{ secrets.SIGNING_STORE_PASSWORD }}
keyPassword: ${{ secrets.SIGNING_KEY_PASSWORD }}
- name: Sign release AAB
id: sign_aab
uses: r0adkll/sign-android-release@v1
env:
BUILD_TOOLS_VERSION: "34.0.0"
with:
releaseDirectory: ${{ env.MAIN_MODULE }}/build/outputs/bundle/release
signingKeyBase64: ${{ secrets.SIGNING_KEYSTORE_BASE64 }}
alias: ${{ secrets.SIGNING_KEY_ALIAS }}
keyStorePassword: ${{ secrets.SIGNING_STORE_PASSWORD }}
keyPassword: ${{ secrets.SIGNING_KEY_PASSWORD }}
- name: Upload artifacts (Actions)
uses: actions/upload-artifact@v4
with:
name: release-build
path: |
${{ steps.sign_apk.outputs.signedReleaseFile }}
${{ steps.sign_aab.outputs.signedReleaseFile }}
- name: Create GitHub Release
if: github.ref == 'refs/heads/release-test'
uses: softprops/action-gh-release@v2
with:
tag_name: release-test-${{ github.run_number }}
name: Test Release ${{ github.run_number }}
target_commitish: ${{ github.sha }}
files: |
${{ steps.sign_apk.outputs.signedReleaseFile }}
${{ steps.sign_aab.outputs.signedReleaseFile }}
generate_release_notes: true
draft: true
prerelease: true
- name: Cleanup secrets
if: always()
run: rm -f local.properties