Files
Amber/.github/workflows/benchmark-apk.yml
Claude 4f6bf81b67 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) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015X6g3nwsWu6HbuwpA2ALu8
2026-06-18 22:47:10 +00:00

68 lines
2.0 KiB
YAML

name: Benchmark APK
# Builds the `benchmark` flavor APK on every push so the changes in each commit
# 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:
workflow_dispatch:
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout source
uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 21
- name: Cache Gradle
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Grant execute permission to Gradle wrapper
run: chmod +x ./gradlew
- name: Create keystore.properties
run: touch keystore.properties
- 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/release/app-benchmark-universal-release-unsigned-signed.apk
retention-days: 14
if-no-files-found: error