Skip to content

Commit 00051ae

Browse files
committed
ci: add android test suite input
1 parent 36a5b44 commit 00051ae

1 file changed

Lines changed: 43 additions & 1 deletion

File tree

.github/workflows/ui-tests.yml

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ on:
55
branches: [ "master" ]
66

77
workflow_dispatch:
8+
inputs:
9+
suites:
10+
description: "Android test suites: all or comma-separated annotations/suites"
11+
required: false
12+
default: "all"
13+
type: string
814

915
concurrency:
1016
group: ${{ github.workflow }}-${{ github.ref }}
@@ -81,6 +87,8 @@ jobs:
8187

8288
- name: Run UI tests on Android Emulator
8389
uses: reactivecircus/android-emulator-runner@v2
90+
env:
91+
ANDROID_TEST_SUITES: ${{ github.event.inputs.suites || 'all' }}
8492
with:
8593
api-level: 30
8694
arch: x86_64
@@ -101,7 +109,41 @@ jobs:
101109
102110
# Install and run tests
103111
./gradlew installDevDebug
104-
./gradlew connectedDevDebugAndroidTest
112+
113+
suites="${ANDROID_TEST_SUITES:-all}"
114+
suites="$(echo "$suites" | tr '[:upper:]' '[:lower:]' | tr -d '[:space:]')"
115+
116+
if [[ -z "$suites" || "$suites" == "all" ]]; then
117+
./gradlew connectedDevDebugAndroidTest
118+
exit 0
119+
fi
120+
121+
IFS=',' read -ra requested_suites <<< "$suites"
122+
for suite in "${requested_suites[@]}"; do
123+
case "$suite" in
124+
compose|compose-ui|composeuitest|to.bitkit.test.annotations.composeuitest)
125+
task="connectedDevDebugComposeAndroidTest"
126+
;;
127+
device|device-integration|deviceintegrationtest|to.bitkit.test.annotations.deviceintegrationtest)
128+
task="connectedDevDebugDeviceIntegrationAndroidTest"
129+
;;
130+
core|core-service|coreserviceintegrationtest|to.bitkit.test.annotations.coreserviceintegrationtest)
131+
task="connectedDevDebugCoreServiceIntegrationAndroidTest"
132+
;;
133+
storage|device-storage|devicestorageintegrationtest|to.bitkit.test.annotations.devicestorageintegrationtest)
134+
task="connectedDevDebugDeviceStorageIntegrationAndroidTest"
135+
;;
136+
ui|device-ui|deviceuiintegrationtest|to.bitkit.test.annotations.deviceuiintegrationtest)
137+
task="connectedDevDebugDeviceUiIntegrationAndroidTest"
138+
;;
139+
*)
140+
echo "::error::Unknown Android test suite '$suite'. Use all, compose, device-integration, core-service, device-storage, or device-ui."
141+
exit 1
142+
;;
143+
esac
144+
145+
./gradlew "$task"
146+
done
105147
106148
- name: Upload UI test report
107149
if: always()

0 commit comments

Comments
 (0)