From 4f6bf81b67181875eff9026646679181a1de2d30 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 18 Jun 2026 22:47:10 +0000 Subject: [PATCH] Build benchmark APK as signed release instead of debug Switches the benchmark CI workflow from assembleBenchmarkDebug to assembleBenchmarkRelease so the per-commit APK is R8/minified and not debuggable (no debug overhead). The release APK is signed with the same release secrets used by create-release.yml so it stays installable, and the benchmark applicationId suffix keeps it side-by-side with production. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_015X6g3nwsWu6HbuwpA2ALu8 --- .github/workflows/benchmark-apk.yml | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/.github/workflows/benchmark-apk.yml b/.github/workflows/benchmark-apk.yml index 0d179e2e..6b7f2864 100644 --- a/.github/workflows/benchmark-apk.yml +++ b/.github/workflows/benchmark-apk.yml @@ -1,8 +1,10 @@ name: Benchmark APK # Builds the `benchmark` flavor APK on every push so the changes in each commit -# can be downloaded, installed, and reviewed. The benchmark flavor uses a distinct -# applicationId suffix, so it installs side-by-side with a production build. +# can be downloaded, installed, and reviewed. Built as a signed *release* APK +# (R8/minify enabled, not debuggable) so it has no debug overhead. The benchmark +# flavor uses a distinct applicationId suffix, so it installs side-by-side with a +# production build. on: push: @@ -42,13 +44,24 @@ jobs: - name: Create keystore.properties run: touch keystore.properties - - name: Build benchmark APK - run: ./gradlew assembleBenchmarkDebug --no-daemon --stacktrace + - name: Build benchmark release APK + run: ./gradlew assembleBenchmarkRelease --no-daemon --stacktrace + + - name: Sign benchmark APK + uses: r0adkll/sign-android-release@v1 + with: + releaseDirectory: app/build/outputs/apk/benchmark/release + signingKeyBase64: ${{ secrets.SIGNING_KEY }} + alias: ${{ secrets.KEY_ALIAS }} + keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} + keyPassword: ${{ secrets.KEY_PASSWORD }} + env: + BUILD_TOOLS_VERSION: "34.0.0" - name: Upload benchmark APK uses: actions/upload-artifact@v4 with: name: amber-benchmark-${{ github.sha }} - path: app/build/outputs/apk/benchmark/debug/app-benchmark-universal-debug.apk + path: app/build/outputs/apk/benchmark/release/app-benchmark-universal-release-unsigned-signed.apk retention-days: 14 if-no-files-found: error