diff --git a/.gitea/workflows/android.yml b/.gitea/workflows/android.yml index 2dc007ce..34ee6210 100644 --- a/.gitea/workflows/android.yml +++ b/.gitea/workflows/android.yml @@ -3,12 +3,22 @@ name: Android CI on: workflow_dispatch: +permissions: + contents: read + +env: + KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }} + RELEASE_SIGN_KEY_ALIAS: ${{ secrets.RELEASE_SIGN_KEY_ALIAS }} + RELEASE_SIGN_KEY_PASSWORD: ${{ secrets.RELEASE_SIGN_KEY_PASSWORD }} + jobs: android: runs-on: android-jdk21 + name: Build artifacts steps: - - uses: actions/checkout@v4 + - name: Checkout + uses: actions/checkout@v4 - name: Make Gradle executable run: chmod +x ./gradlew @@ -24,11 +34,34 @@ jobs: restore-keys: | gradle-${{ runner.os }}- - - name: Build and test + - name: Build and sign release APK + run: ./gradlew assembleRelease + + - name: Find generated release APK name + id: find_apk_release run: | - ./gradlew \ - check \ - assembleDebug \ - --no-daemon \ - --max-workers=2 \ - -Dorg.gradle.jvmargs="-Xmx3g -XX:MaxMetaspaceSize=1g" + APK_PATH=$(find app/build/outputs/apk/release -name "*.apk" | head -n 1) + echo "APK_PATH=$APK_PATH" >> $GITEA_ENV + echo "APK_NAME=$(basename $APK_PATH)" >> $GITEA_ENV + + - name: Upload APK with original name + uses: actions/upload-artifact@v7 + with: + name: ${{ env.APK_NAME }} + path: ${{ env.APK_PATH }} + + - name: Build and sign debug APK + run: ./gradlew assembleDebug + + - name: Find generated debug APK name + id: find_apk_debug + run: | + APK_PATH=$(find app/build/outputs/apk/debug -name "*.apk" | head -n 1) + echo "APK_PATH=$APK_PATH" >> $GITEA_ENV + echo "APK_NAME=$(basename $APK_PATH)" >> $GITEA_ENV + + - name: Upload APK with original name + uses: actions/upload-artifact@v7 + with: + name: ${{ env.APK_NAME }} + path: ${{ env.APK_PATH }}