CI: Gradle Managed Devices + GitHub Actions workflow
pixel7Api34 managed device runs instrumented tests headlessly on CI. Three test-filter profiles (ci/parallel/full) mirror iOS xctestplan variants. run_ui_tests.sh convenience wrapper. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
30
.github/workflows/android-ui-tests.yml
vendored
Normal file
30
.github/workflows/android-ui-tests.yml
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
name: Android UI Tests
|
||||
on:
|
||||
pull_request:
|
||||
branches: [main, master]
|
||||
push:
|
||||
branches: [main, master]
|
||||
jobs:
|
||||
ui-tests:
|
||||
runs-on: macos-14
|
||||
timeout-minutes: 45
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-java@v4
|
||||
with: { distribution: temurin, java-version: 17 }
|
||||
- name: Accept Android licenses
|
||||
run: yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses || true
|
||||
- name: Verify test-tag parity
|
||||
run: ./scripts/verify_test_tag_parity.sh
|
||||
- name: Run unit tests
|
||||
run: ./gradlew :composeApp:testDebugUnitTest
|
||||
- name: Run instrumented tests (managed device)
|
||||
run: ./gradlew :composeApp:pixel7Api34DebugAndroidTest
|
||||
env:
|
||||
GRADLE_OPTS: -Xmx4g -XX:+UseParallelGC
|
||||
- name: Upload test reports
|
||||
if: failure()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: test-reports
|
||||
path: composeApp/build/reports/
|
||||
Reference in New Issue
Block a user