From da39abb07efb9c666135fbee7e381bac4a5a352c Mon Sep 17 00:00:00 2001 From: Simon Marquis Date: Wed, 26 Apr 2023 23:30:32 +0200 Subject: [PATCH 1/6] Use dedicated build step to package test apps before spawning the emulator --- .github/workflows/AndroidCIWithGmd.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/AndroidCIWithGmd.yaml b/.github/workflows/AndroidCIWithGmd.yaml index 1c1206ed4..9aa8f2ad9 100644 --- a/.github/workflows/AndroidCIWithGmd.yaml +++ b/.github/workflows/AndroidCIWithGmd.yaml @@ -24,6 +24,9 @@ jobs: - name: Setup Android SDK uses: android-actions/setup-android@v2 + - name: Build AndroidTest apps + run: ./gradlew packageDemoDebug packageDemoDebugAndroidTest + - name: Run instrumented tests with GMD run: ./gradlew cleanManagedDevices --unused-only && ./gradlew ${{ matrix.device-config }}DemoDebugAndroidTest -Dorg.gradle.workers.max=1 From 42ba433be394103ddafcc8a3ddfd61bbda8c1d62 Mon Sep 17 00:00:00 2001 From: Simon Marquis Date: Wed, 26 Apr 2023 22:14:37 +0100 Subject: [PATCH 2/6] Add missing gradle/gradle-build-action setup in AndroidCIWithGmd.yaml This will prevent downloading and unzipping Gradle distribution but fetch it from the cache instead like other workflows. --- .github/workflows/AndroidCIWithGmd.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/AndroidCIWithGmd.yaml b/.github/workflows/AndroidCIWithGmd.yaml index 1c1206ed4..36d7115ae 100644 --- a/.github/workflows/AndroidCIWithGmd.yaml +++ b/.github/workflows/AndroidCIWithGmd.yaml @@ -15,11 +15,12 @@ jobs: device-config: [ "pixel4api30aospatd", "pixelcapi30aospatd" ] steps: + - uses: actions/checkout@v3 - uses: actions/setup-java@v3 with: distribution: 'zulu' java-version: 17 - - uses: actions/checkout@v3 + - uses: gradle/gradle-build-action@v2 - name: Setup Android SDK uses: android-actions/setup-android@v2 From 1e75be21e7532411e3e32c2eb19ce20b377f0c70 Mon Sep 17 00:00:00 2001 From: Simon Marquis Date: Thu, 4 May 2023 21:35:20 +0200 Subject: [PATCH 3/6] Add missing steps in `AndroidCIWithGmd.yaml` - `gradle/wrapper-validation-action` - copy CI's `gradle.properties` file And restore explicit steps names. --- .github/workflows/AndroidCIWithGmd.yaml | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/.github/workflows/AndroidCIWithGmd.yaml b/.github/workflows/AndroidCIWithGmd.yaml index 36d7115ae..78902cb32 100644 --- a/.github/workflows/AndroidCIWithGmd.yaml +++ b/.github/workflows/AndroidCIWithGmd.yaml @@ -15,12 +15,23 @@ jobs: device-config: [ "pixel4api30aospatd", "pixelcapi30aospatd" ] steps: - - uses: actions/checkout@v3 - - uses: actions/setup-java@v3 + - name: Checkout + uses: actions/checkout@v3 + + - name: Validate Gradle Wrapper + uses: gradle/wrapper-validation-action@v1 + + - name: Copy CI gradle.properties + run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties + + - name: Set up JDK 17 + uses: actions/setup-java@v3 with: distribution: 'zulu' java-version: 17 - - uses: gradle/gradle-build-action@v2 + + - name: Setup Gradle + uses: gradle/gradle-build-action@v2 - name: Setup Android SDK uses: android-actions/setup-android@v2 From 627ccd939d7814f3c3bd8882c809e831886c4fbf Mon Sep 17 00:00:00 2001 From: Simon Marquis Date: Fri, 19 May 2023 10:34:50 +0100 Subject: [PATCH 4/6] chore(deps): update android-gradleplugin to v8.0.1 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 653350f7d..0be000440 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,7 +1,7 @@ [versions] accompanist = "0.28.0" androidDesugarJdkLibs = "1.2.2" -androidGradlePlugin = "8.0.0" +androidGradlePlugin = "8.0.1" androidxActivity = "1.7.0" androidxAppCompat = "1.5.1" androidxBrowser = "1.4.0" From d6ba65c77f60a240eaaf6fda2603362ed8b59cc3 Mon Sep 17 00:00:00 2001 From: Simon Marquis Date: Fri, 19 May 2023 10:45:02 +0100 Subject: [PATCH 5/6] Update `BookmarksGrid` horizontal spacing to fix #732 --- .../apps/nowinandroid/feature/bookmarks/BookmarksScreen.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/feature/bookmarks/src/main/java/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreen.kt b/feature/bookmarks/src/main/java/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreen.kt index e2eb4524b..25412e851 100644 --- a/feature/bookmarks/src/main/java/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreen.kt +++ b/feature/bookmarks/src/main/java/com/google/samples/apps/nowinandroid/feature/bookmarks/BookmarksScreen.kt @@ -181,7 +181,7 @@ private fun BookmarksGrid( LazyVerticalGrid( columns = Adaptive(300.dp), contentPadding = PaddingValues(16.dp), - horizontalArrangement = Arrangement.spacedBy(32.dp), + horizontalArrangement = Arrangement.spacedBy(16.dp), verticalArrangement = Arrangement.spacedBy(24.dp), state = scrollableState, modifier = modifier From a605ab1727eba343a6ec44f2529f7c8c05b43cbc Mon Sep 17 00:00:00 2001 From: Simon Marquis Date: Fri, 19 May 2023 11:52:21 +0100 Subject: [PATCH 6/6] Update benchmarks module minSdk to 28 Call requires API level 24: - `CompilationMode` sealed class Calls requires API level 28: - `BaselineProfileRule()` - `baselineProfileRule.collectBaselineProfile(PACKAGE_NAME)` --- benchmarks/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/benchmarks/build.gradle.kts b/benchmarks/build.gradle.kts index fb46ae63f..320d66647 100644 --- a/benchmarks/build.gradle.kts +++ b/benchmarks/build.gradle.kts @@ -25,7 +25,7 @@ android { namespace = "com.google.samples.apps.nowinandroid.benchmarks" defaultConfig { - minSdk = 23 + minSdk = 28 testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" buildConfigField("String", "APP_BUILD_TYPE_SUFFIX", "\"\"")