name: Android Release Build on: push: tags: - '*' workflow_dispatch: {} jobs: build: runs-on: debian steps: - name: Checkout source uses: actions/checkout@v4 - name: Setup JDK uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: '17' - name: Decode keystore run: | echo "$RELEASE_KEY_B64" | base64 -d > release-key.jks env: RELEASE_KEY_B64: ${{ secrets.RELEASE_KEY_B64 }} - name: Set up gradle run: chmod +x ./gradlew - name: Build signed AAB run: ./gradlew clean bundleRelease -Pandroid.injected.signing.store.file=release-key.jks \ -Pandroid.injected.signing.store.password=$KEYSTORE_PASSWORD \ -Pandroid.injected.signing.key.alias=release-key \ -Pandroid.injected.signing.key.password=$KEY_PASSWORD env: KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }} KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} - name: Upload release uses: actions/upload-artifact@v4 with: name: app-release.aab path: app/build/outputs/bundle/release/app-release.aab