Skip to content

Commit 825c329

Browse files
authored
Merge pull request #702 from SimonMarquis/gmd/ci-group
Create and use CI specific group of GMD devices
2 parents 7c287c9 + 4550743 commit 825c329

File tree

2 files changed

+21
-12
lines changed

2 files changed

+21
-12
lines changed

.github/workflows/AndroidCIWithGmd.yaml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,24 @@ jobs:
1010

1111
android-ci:
1212
runs-on: macos-12
13-
strategy:
14-
matrix:
15-
device-config: [ "pixel4api30aospatd", "pixelcapi30aospatd" ]
1613

1714
steps:
15+
- uses: actions/checkout@v3
1816
- uses: actions/setup-java@v3
1917
with:
2018
distribution: 'zulu'
2119
java-version: 17
22-
- uses: actions/checkout@v3
20+
- uses: gradle/gradle-build-action@v2
2321

2422
- name: Setup Android SDK
2523
uses: android-actions/setup-android@v2
2624

25+
- name: Build AndroidTest apps
26+
run: ./gradlew packageDemoDebug packageDemoDebugAndroidTest
27+
2728
- name: Run instrumented tests with GMD
2829
run: ./gradlew cleanManagedDevices --unused-only &&
29-
./gradlew ${{ matrix.device-config }}DemoDebugAndroidTest -Dorg.gradle.workers.max=1
30+
./gradlew ciDemoDebugAndroidTest -Dorg.gradle.workers.max=1
3031
-Pandroid.testoptions.manageddevices.emulator.gpu="swiftshader_indirect" -Pandroid.experimental.testOptions.managedDevices.emulator.showKernelLogging=true
3132

3233
- name: Upload test reports

build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/GradleManagedDevices.kt

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ package com.google.samples.apps.nowinandroid
1818

1919
import com.android.build.api.dsl.CommonExtension
2020
import com.android.build.api.dsl.ManagedVirtualDevice
21-
import org.gradle.api.Project
21+
import org.gradle.kotlin.dsl.get
2222
import org.gradle.kotlin.dsl.invoke
2323

2424
/**
@@ -27,23 +27,31 @@ import org.gradle.kotlin.dsl.invoke
2727
internal fun configureGradleManagedDevices(
2828
commonExtension: CommonExtension<*, *, *, *>,
2929
) {
30-
val deviceConfigs = listOf(
31-
DeviceConfig("Pixel 4", 30, "aosp-atd"),
32-
DeviceConfig("Pixel 6", 31, "aosp"),
33-
DeviceConfig("Pixel C", 30, "aosp-atd"),
34-
)
30+
val pixel4 = DeviceConfig("Pixel 4", 30, "aosp-atd")
31+
val pixel6 = DeviceConfig("Pixel 6", 31, "aosp")
32+
val pixelC = DeviceConfig("Pixel C", 30, "aosp-atd")
33+
34+
val allDevices = listOf(pixel4, pixel6, pixelC)
35+
val ciDevices = listOf(pixel4, pixelC)
3536

3637
commonExtension.testOptions {
3738
managedDevices {
3839
devices {
39-
deviceConfigs.forEach { deviceConfig ->
40+
allDevices.forEach { deviceConfig ->
4041
maybeCreate(deviceConfig.taskName, ManagedVirtualDevice::class.java).apply {
4142
device = deviceConfig.device
4243
apiLevel = deviceConfig.apiLevel
4344
systemImageSource = deviceConfig.systemImageSource
4445
}
4546
}
4647
}
48+
groups {
49+
maybeCreate("ci").apply {
50+
ciDevices.forEach { deviceConfig ->
51+
targetDevices.add(devices[deviceConfig.taskName])
52+
}
53+
}
54+
}
4755
}
4856
}
4957
}

0 commit comments

Comments
 (0)