diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e15ee75..2194a84 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,21 +22,21 @@ jobs: - name: Setup Gradle uses: gradle/actions/setup-gradle@v4 - - name: Decode keystore - if: ${{ secrets.KEYSTORE_BASE64 != '' }} + - name: Setup keystore env: KEYSTORE_BASE64: ${{ secrets.KEYSTORE_BASE64 }} run: | - echo "$KEYSTORE_BASE64" | base64 -d > app/release.keystore - - - name: Create debug keystore (fallback) - if: ${{ secrets.KEYSTORE_BASE64 == '' }} - run: | - mkdir -p ~/.android - keytool -genkey -v -keystore ~/.android/debug.keystore \ - -storepass android -alias androiddebugkey -keypass android \ - -keyalg RSA -keysize 2048 -validity 10000 \ - -dname "CN=Android Debug,O=Android,C=US" + if [ -n "$KEYSTORE_BASE64" ]; then + echo "Using release keystore from secrets" + echo "$KEYSTORE_BASE64" | base64 -d > app/release.keystore + else + echo "No keystore secret found, creating debug keystore" + mkdir -p ~/.android + keytool -genkey -v -keystore ~/.android/debug.keystore \ + -storepass android -alias androiddebugkey -keypass android \ + -keyalg RSA -keysize 2048 -validity 10000 \ + -dname "CN=Android Debug,O=Android,C=US" + fi - name: Build Release APK env: @@ -47,6 +47,14 @@ jobs: run: ./gradlew assembleRelease - name: Upload APK to release + if: github.event_name == 'release' uses: softprops/action-gh-release@v2 with: files: app/build/outputs/apk/release/app-release.apk + + - name: Upload APK as artifact + if: github.event_name == 'workflow_dispatch' + uses: actions/upload-artifact@v4 + with: + name: app-release + path: app/build/outputs/apk/release/app-release.apk