Files
Amber/.github/workflows/benchmark-apk.yml
T
Claude 03b3788a69 Add benchmark flavor and CI workflow to build/upload APK per commit
Introduces a `benchmark` product flavor that mirrors the `free` online
network stack but uses a distinct applicationId suffix (`.benchmark`) so
it installs side-by-side with a production build. A new GitHub Actions
workflow builds the benchmark APK on every push and uploads it as an
artifact, making per-commit changes installable and reviewable.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015X6g3nwsWu6HbuwpA2ALu8
2026-06-18 22:33:08 +00:00

55 lines
1.5 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. 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 APK
run: ./gradlew assembleBenchmarkDebug --no-daemon --stacktrace
- 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
retention-days: 14
if-no-files-found: error