diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index bb9dfa8..bd82786 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -130,10 +130,22 @@ jobs: if-no-files-found: error retention-days: 30 - - name: Upload Android APK and AAB + - name: Upload Android APK uses: https://code.brunner.ninja/actions/upload-artifact@v4 with: - name: evcharger-android - path: dist/android/ + name: evcharger-apk + path: dist/android/*.apk if-no-files-found: error retention-days: 30 + # APK files are ZIP containers already; recompressing wastes time. + compression-level: 0 + + - name: Upload Android App Bundle + uses: https://code.brunner.ninja/actions/upload-artifact@v4 + with: + name: evcharger-aab + path: dist/android/*.aab + if-no-files-found: error + retention-days: 30 + # AAB files are ZIP containers already; recompressing wastes time. + compression-level: 0 diff --git a/docs/gitea-actions.md b/docs/gitea-actions.md index 9bbb524..aa16904 100644 --- a/docs/gitea-actions.md +++ b/docs/gitea-actions.md @@ -148,21 +148,25 @@ because command-line arguments can leak through history and process listings. ## Artifacts and Android versions -Each successful workflow exposes two downloads in the Gitea Actions run: +Each successful workflow exposes three downloads in the Gitea Actions run: ```text evcharger-linux/ evcharger-app -evcharger-android/ +evcharger-apk/ evcharger--universal.apk + +evcharger-aab/ evcharger-.aab - SHA256SUMS ``` -Artifacts are retained for 30 days. A signed universal APK is suitable for -direct download and sideloading; an unsigned one is only a validation artifact. -Upload the signed AAB to Google Play, which produces device-specific APKs. +Artifacts are retained for 30 days. APK and AAB packages are separate downloads +so phone testing does not also download the Play bundle. Gitea Actions serves +artifacts as ZIP archives, but compression is disabled because APK and AAB files +are already ZIP containers. A signed universal APK is suitable for sideloading; +an unsigned one is only a validation artifact. Upload the signed AAB to Google +Play, which produces device-specific APKs. The Android `versionCode` defaults to the monotonically increasing Gitea Actions run number. Tags become the `versionName` after an optional leading `v` is