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