Skip to content

Commit 8ca16d8

Browse files
committed
Merge remote-tracking branch 'origin/main' into in-memory-datastore
2 parents 45b0c2a + c4ebde1 commit 8ca16d8

File tree

62 files changed

+807
-14935
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+807
-14935
lines changed

.github/workflows/Build.yaml

Lines changed: 29 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,13 @@ jobs:
2525
- name: Checkout
2626
uses: actions/checkout@v4
2727

28+
- name: Enable KVM group perms
29+
run: |
30+
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
31+
sudo udevadm control --reload-rules
32+
sudo udevadm trigger --name-match=kvm
33+
ls /dev/kvm
34+
2835
- name: Copy CI gradle.properties
2936
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
3037

@@ -35,10 +42,13 @@ jobs:
3542
java-version: 17
3643

3744
- name: Setup Gradle
38-
uses: gradle/actions/setup-gradle@v3
39-
with:
40-
validate-wrappers: true
41-
gradle-home-cache-cleanup: true
45+
uses: gradle/actions/setup-gradle@v4
46+
47+
- name: Setup Android SDK
48+
uses: android-actions/setup-android@v3
49+
50+
- name: Accept licenses
51+
run: yes | sdkmanager --licenses || true
4252

4353
- name: Check build-logic
4454
run: ./gradlew check -p build-logic
@@ -101,19 +111,22 @@ jobs:
101111
commit_message: "🤖 Updates screenshots"
102112

103113
# Run local tests after screenshot tests to avoid wrong UP-TO-DATE. TODO: Ignore screenshots.
104-
- name: Run local tests and create report
105-
if: always()
114+
- name: Run local tests
106115
run: ./gradlew testDemoDebug :lint:test
107-
# Replace task exclusions with `-Pandroidx.baselineprofile.skipgeneration` when
108-
# https://android-review.googlesource.com/c/platform/frameworks/support/+/2602790 landed in a
109-
# release build
116+
117+
- name: Setup GMD
118+
run: ./gradlew :benchmarks:pixel6Api33Setup
119+
--info
120+
-Pandroid.experimental.testOptions.managedDevices.emulator.showKernelLogging=true
121+
-Pandroid.testoptions.manageddevices.emulator.gpu="swiftshader_indirect"
110122

111123
- name: Build all build type and flavor permutations
112-
run: ./gradlew :app:assemble :benchmarks:assemble
113-
-x pixel6Api33ProdNonMinifiedReleaseAndroidTest
114-
-x pixel6Api33DemoNonMinifiedReleaseAndroidTest
115-
-x collectDemoNonMinifiedReleaseBaselineProfile
116-
-x collectProdNonMinifiedReleaseBaselineProfile
124+
run: ./gradlew :app:assemble :benchmarks:assemble -Pandroidx.baselineprofile.skipgeneration
125+
-Pandroid.testoptions.manageddevices.emulator.gpu="swiftshader_indirect"
126+
-Pandroid.experimental.testOptions.managedDevices.emulator.showKernelLogging=true
127+
-Pandroid.experimental.androidTest.numManagedDeviceShards=1
128+
-Pandroid.experimental.testOptions.managedDevices.maxConcurrentDevices=1
129+
-Pandroid.experimental.testOptions.managedDevices.setupTimeoutMinutes=5
117130

118131
- name: Upload build outputs (APKs)
119132
uses: actions/upload-artifact@v4
@@ -187,7 +200,7 @@ jobs:
187200
java-version: 17
188201

189202
- name: Setup Gradle
190-
uses: gradle/actions/setup-gradle@v3
203+
uses: gradle/actions/setup-gradle@v4
191204
with:
192205
validate-wrappers: true
193206
gradle-home-cache-cleanup: true
@@ -222,7 +235,7 @@ jobs:
222235
- name: Display local test coverage (only API 30)
223236
if: matrix.api-level == 30
224237
id: jacoco
225-
uses: madrapps/jacoco-report@v1.6.1
238+
uses: madrapps/jacoco-report@v1.7.0
226239
with:
227240
title: Combined test coverage report
228241
min-coverage-overall: 40
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: NightlyBaselineProfiles
2+
3+
on:
4+
schedule:
5+
- cron: '42 4 * * *'
6+
7+
jobs:
8+
baseline_profiles:
9+
name: "Generate Baseline Profiles"
10+
runs-on: ubuntu-latest
11+
12+
permissions:
13+
contents: write
14+
15+
timeout-minutes: 60
16+
17+
steps:
18+
- name: Checkout
19+
uses: actions/checkout@v4
20+
21+
- name: Enable KVM group perms
22+
run: |
23+
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
24+
sudo udevadm control --reload-rules
25+
sudo udevadm trigger --name-match=kvm
26+
ls /dev/kvm
27+
28+
- name: Copy CI gradle.properties
29+
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
30+
31+
- name: Set up JDK 17
32+
uses: actions/setup-java@v4
33+
with:
34+
distribution: 'zulu'
35+
java-version: 17
36+
37+
- name: Setup Gradle
38+
uses: gradle/actions/setup-gradle@v4
39+
40+
- name: Setup Android SDK
41+
uses: android-actions/setup-android@v3
42+
43+
- name: Accept licenses
44+
run: yes | sdkmanager --licenses || true
45+
46+
- name: Check build-logic
47+
run: ./gradlew check -p build-logic
48+
49+
- name: Setup GMD
50+
run: ./gradlew :benchmarks:pixel6Api33Setup
51+
--info
52+
-Pandroid.experimental.testOptions.managedDevices.emulator.showKernelLogging=true
53+
-Pandroid.testoptions.manageddevices.emulator.gpu="swiftshader_indirect"
54+
55+
- name: Build all build type and flavor permutations including baseline profiles
56+
run: ./gradlew :app:assemble
57+
-Pandroid.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=baselineprofile
58+
-Pandroid.testoptions.manageddevices.emulator.gpu="swiftshader_indirect"
59+
-Pandroid.experimental.testOptions.managedDevices.emulator.showKernelLogging=true

.github/workflows/Release.yml

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,19 @@ jobs:
3232
java-version: 17
3333

3434
- name: Setup Gradle
35-
uses: gradle/actions/setup-gradle@v3
36-
with:
37-
validate-wrappers: true
38-
gradle-home-cache-cleanup: true
35+
uses: gradle/actions/setup-gradle@v4
36+
37+
- name: Setup Android SDK
38+
uses: android-actions/setup-android@v3
3939

40-
- name: Install GMD image for baseline profile generation
41-
run: yes | "$ANDROID_HOME"/cmdline-tools/latest/bin/sdkmanager "system-images;android-33;aosp_atd;x86_64"
40+
- name: Accept licenses
41+
run: yes | sdkmanager --licenses || true
4242

43-
- name: Accept Android licenses
44-
run: yes | "$ANDROID_HOME"/cmdline-tools/latest/bin/sdkmanager --licenses || true
43+
- name: Setup GMD
44+
run: ./gradlew :benchmarks:pixel6Api33Setup
45+
--info
46+
-Pandroid.experimental.testOptions.managedDevices.emulator.showKernelLogging=true
47+
-Pandroid.testoptions.manageddevices.emulator.gpu="swiftshader_indirect"
4548

4649
- name: Build release variant including baseline profile generation
4750
run: ./gradlew :app:assembleDemoRelease

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ bin/
1313
gen/
1414
out/
1515
build/
16+
generated/
1617

1718
# Local configuration file (sdk path, etc)
1819
local.properties

.google/BUILDME

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
# This file can be used to trigger an internal build by changing the number below
2-
3
2+
2

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,8 @@ Examples:
111111

112112
To run the tests execute the following gradle tasks:
113113

114-
- `testDemoDebug` run all local tests against the `demoDebug` variant.
114+
- `testDemoDebug` run all local tests against the `demoDebug` variant. Screenshot tests will fail
115+
(see below for explanation). To avoid this, run `recordRoborazziDemoDebug` prior to running unit tests.
115116
- `connectedDemoDebugAndroidTest` run all instrumented tests against the `demoDebug` variant.
116117

117118
**Note:** You should not run `./gradlew test` or `./gradlew connectedAndroidTest` as this will execute
@@ -137,7 +138,7 @@ stored in `modulename/src/test/screenshots`.
137138
- `compareRoborazziDemoDebug` create comparison images between failed tests and the known correct
138139
images. These can also be found in `modulename/src/test/screenshots`.
139140

140-
**Note:** The known correct screenshots stored in this repository are recorded on CI using Linux. Other
141+
**Note on failing screenshot tests:** The known correct screenshots stored in this repository are recorded on CI using Linux. Other
141142
platforms may (and probably will) generate slightly different images, making the screenshot tests fail.
142143
When working on a non-Linux platform, a workaround to this is to run `recordRoborazziDemoDebug` on the
143144
`main` branch before starting work. After making changes, `verifyRoborazziDemoDebug` will identify only
Lines changed: 82 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
androidx.activity:activity-compose:1.8.2
2-
androidx.activity:activity-ktx:1.8.2
3-
androidx.activity:activity:1.8.2
1+
androidx.activity:activity-compose:1.9.2
2+
androidx.activity:activity-ktx:1.9.2
3+
androidx.activity:activity:1.9.2
44
androidx.annotation:annotation-experimental:1.4.0
55
androidx.annotation:annotation-jvm:1.8.0
66
androidx.annotation:annotation:1.8.0
@@ -12,45 +12,45 @@ androidx.browser:browser:1.8.0
1212
androidx.collection:collection-jvm:1.4.0
1313
androidx.collection:collection-ktx:1.4.0
1414
androidx.collection:collection:1.4.0
15-
androidx.compose.animation:animation-android:1.7.0-beta01
16-
androidx.compose.animation:animation-core-android:1.7.0-beta01
17-
androidx.compose.animation:animation-core:1.7.0-beta01
18-
androidx.compose.animation:animation:1.7.0-beta01
19-
androidx.compose.foundation:foundation-android:1.7.0-beta01
20-
androidx.compose.foundation:foundation-layout-android:1.7.0-beta01
21-
androidx.compose.foundation:foundation-layout:1.7.0-beta01
22-
androidx.compose.foundation:foundation:1.7.0-beta01
23-
androidx.compose.material3.adaptive:adaptive-android:1.0.0-beta01
24-
androidx.compose.material3.adaptive:adaptive:1.0.0-beta01
25-
androidx.compose.material3:material3-adaptive-navigation-suite-android:1.3.0-beta01
26-
androidx.compose.material3:material3-adaptive-navigation-suite:1.3.0-beta01
27-
androidx.compose.material3:material3-android:1.3.0-beta01
28-
androidx.compose.material3:material3:1.3.0-beta01
29-
androidx.compose.material:material-icons-core-android:1.6.3
30-
androidx.compose.material:material-icons-core:1.6.3
31-
androidx.compose.material:material-icons-extended-android:1.6.3
32-
androidx.compose.material:material-icons-extended:1.6.3
33-
androidx.compose.material:material-ripple-android:1.7.0-beta01
34-
androidx.compose.material:material-ripple:1.7.0-beta01
35-
androidx.compose.runtime:runtime-android:1.7.0-beta01
36-
androidx.compose.runtime:runtime-saveable-android:1.7.0-beta01
37-
androidx.compose.runtime:runtime-saveable:1.7.0-beta01
38-
androidx.compose.runtime:runtime:1.7.0-beta01
39-
androidx.compose.ui:ui-android:1.7.0-beta01
40-
androidx.compose.ui:ui-geometry-android:1.7.0-beta01
41-
androidx.compose.ui:ui-geometry:1.7.0-beta01
42-
androidx.compose.ui:ui-graphics-android:1.7.0-beta01
43-
androidx.compose.ui:ui-graphics:1.7.0-beta01
44-
androidx.compose.ui:ui-text-android:1.7.0-beta01
45-
androidx.compose.ui:ui-text:1.7.0-beta01
46-
androidx.compose.ui:ui-tooling-preview-android:1.7.0-beta01
47-
androidx.compose.ui:ui-tooling-preview:1.7.0-beta01
48-
androidx.compose.ui:ui-unit-android:1.7.0-beta01
49-
androidx.compose.ui:ui-unit:1.7.0-beta01
50-
androidx.compose.ui:ui-util-android:1.7.0-beta01
51-
androidx.compose.ui:ui-util:1.7.0-beta01
52-
androidx.compose.ui:ui:1.7.0-beta01
53-
androidx.compose:compose-bom:2024.02.02
15+
androidx.compose.animation:animation-android:1.7.0
16+
androidx.compose.animation:animation-core-android:1.7.0
17+
androidx.compose.animation:animation-core:1.7.0
18+
androidx.compose.animation:animation:1.7.0
19+
androidx.compose.foundation:foundation-android:1.7.0
20+
androidx.compose.foundation:foundation-layout-android:1.7.0
21+
androidx.compose.foundation:foundation-layout:1.7.0
22+
androidx.compose.foundation:foundation:1.7.0
23+
androidx.compose.material3.adaptive:adaptive-android:1.0.0
24+
androidx.compose.material3.adaptive:adaptive:1.0.0
25+
androidx.compose.material3:material3-adaptive-navigation-suite-android:1.3.0
26+
androidx.compose.material3:material3-adaptive-navigation-suite:1.3.0
27+
androidx.compose.material3:material3-android:1.3.0
28+
androidx.compose.material3:material3:1.3.0
29+
androidx.compose.material:material-icons-core-android:1.7.0
30+
androidx.compose.material:material-icons-core:1.7.0
31+
androidx.compose.material:material-icons-extended-android:1.7.0
32+
androidx.compose.material:material-icons-extended:1.7.0
33+
androidx.compose.material:material-ripple-android:1.7.0
34+
androidx.compose.material:material-ripple:1.7.0
35+
androidx.compose.runtime:runtime-android:1.7.0
36+
androidx.compose.runtime:runtime-saveable-android:1.7.0
37+
androidx.compose.runtime:runtime-saveable:1.7.0
38+
androidx.compose.runtime:runtime:1.7.0
39+
androidx.compose.ui:ui-android:1.7.0
40+
androidx.compose.ui:ui-geometry-android:1.7.0
41+
androidx.compose.ui:ui-geometry:1.7.0
42+
androidx.compose.ui:ui-graphics-android:1.7.0
43+
androidx.compose.ui:ui-graphics:1.7.0
44+
androidx.compose.ui:ui-text-android:1.7.0
45+
androidx.compose.ui:ui-text:1.7.0
46+
androidx.compose.ui:ui-tooling-preview-android:1.7.0
47+
androidx.compose.ui:ui-tooling-preview:1.7.0
48+
androidx.compose.ui:ui-unit-android:1.7.0
49+
androidx.compose.ui:ui-unit:1.7.0
50+
androidx.compose.ui:ui-util-android:1.7.0
51+
androidx.compose.ui:ui-util:1.7.0
52+
androidx.compose.ui:ui:1.7.0
53+
androidx.compose:compose-bom:2024.09.00
5454
androidx.concurrent:concurrent-futures:1.1.0
5555
androidx.core:core-ktx:1.13.1
5656
androidx.core:core:1.13.1
@@ -61,25 +61,25 @@ androidx.exifinterface:exifinterface:1.3.7
6161
androidx.fragment:fragment:1.5.1
6262
androidx.graphics:graphics-path:1.0.1
6363
androidx.interpolator:interpolator:1.0.0
64-
androidx.lifecycle:lifecycle-common-java8:2.8.0
65-
androidx.lifecycle:lifecycle-common-jvm:2.8.0
66-
androidx.lifecycle:lifecycle-common:2.8.0
67-
androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.0
68-
androidx.lifecycle:lifecycle-livedata-core:2.8.0
69-
androidx.lifecycle:lifecycle-livedata:2.8.0
70-
androidx.lifecycle:lifecycle-process:2.8.0
71-
androidx.lifecycle:lifecycle-runtime-android:2.8.0
72-
androidx.lifecycle:lifecycle-runtime-compose-android:2.8.0
73-
androidx.lifecycle:lifecycle-runtime-compose:2.8.0
74-
androidx.lifecycle:lifecycle-runtime-ktx-android:2.8.0
75-
androidx.lifecycle:lifecycle-runtime-ktx:2.8.0
76-
androidx.lifecycle:lifecycle-runtime:2.8.0
77-
androidx.lifecycle:lifecycle-viewmodel-android:2.8.0
78-
androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.0
79-
androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.0
80-
androidx.lifecycle:lifecycle-viewmodel:2.8.0
64+
androidx.lifecycle:lifecycle-common-java8:2.8.3
65+
androidx.lifecycle:lifecycle-common-jvm:2.8.3
66+
androidx.lifecycle:lifecycle-common:2.8.3
67+
androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.3
68+
androidx.lifecycle:lifecycle-livedata-core:2.8.3
69+
androidx.lifecycle:lifecycle-livedata:2.8.3
70+
androidx.lifecycle:lifecycle-process:2.8.3
71+
androidx.lifecycle:lifecycle-runtime-android:2.8.3
72+
androidx.lifecycle:lifecycle-runtime-compose-android:2.8.3
73+
androidx.lifecycle:lifecycle-runtime-compose:2.8.3
74+
androidx.lifecycle:lifecycle-runtime-ktx-android:2.8.3
75+
androidx.lifecycle:lifecycle-runtime-ktx:2.8.3
76+
androidx.lifecycle:lifecycle-runtime:2.8.3
77+
androidx.lifecycle:lifecycle-viewmodel-android:2.8.3
78+
androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.3
79+
androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.3
80+
androidx.lifecycle:lifecycle-viewmodel:2.8.3
8181
androidx.loader:loader:1.0.0
82-
androidx.metrics:metrics-performance:1.0.0-alpha04
82+
androidx.metrics:metrics-performance:1.0.0-beta01
8383
androidx.profileinstaller:profileinstaller:1.3.1
8484
androidx.savedstate:savedstate-ktx:1.2.1
8585
androidx.savedstate:savedstate:1.2.1
@@ -91,32 +91,33 @@ androidx.vectordrawable:vectordrawable:1.1.0
9191
androidx.versionedparcelable:versionedparcelable:1.1.1
9292
androidx.viewpager:viewpager:1.0.0
9393
androidx.window.extensions.core:core:1.0.0
94-
androidx.window:window-core-android:1.3.0-beta02
95-
androidx.window:window-core:1.3.0-beta02
96-
androidx.window:window:1.3.0-beta02
94+
androidx.window:window-core-android:1.3.0
95+
androidx.window:window-core:1.3.0
96+
androidx.window:window:1.3.0
9797
com.google.accompanist:accompanist-drawablepainter:0.32.0
9898
com.google.code.findbugs:jsr305:3.0.2
99-
com.google.dagger:dagger-lint-aar:2.51.1
100-
com.google.dagger:dagger:2.51.1
101-
com.google.dagger:hilt-android:2.51.1
102-
com.google.dagger:hilt-core:2.51.1
99+
com.google.dagger:dagger-lint-aar:2.52
100+
com.google.dagger:dagger:2.52
101+
com.google.dagger:hilt-android:2.52
102+
com.google.dagger:hilt-core:2.52
103103
com.google.guava:listenablefuture:1.0
104104
com.squareup.okhttp3:okhttp:4.12.0
105-
com.squareup.okio:okio-jvm:3.8.0
106-
com.squareup.okio:okio:3.8.0
107-
io.coil-kt:coil-base:2.6.0
108-
io.coil-kt:coil-compose-base:2.6.0
109-
io.coil-kt:coil-compose:2.6.0
110-
io.coil-kt:coil:2.6.0
105+
com.squareup.okio:okio-jvm:3.9.0
106+
com.squareup.okio:okio:3.9.0
107+
io.coil-kt:coil-base:2.7.0
108+
io.coil-kt:coil-compose-base:2.7.0
109+
io.coil-kt:coil-compose:2.7.0
110+
io.coil-kt:coil:2.7.0
111+
jakarta.inject:jakarta.inject-api:2.0.1
111112
javax.inject:javax.inject:1
112-
org.jetbrains.kotlin:kotlin-stdlib-common:2.0.0
113+
org.jetbrains.kotlin:kotlin-stdlib-common:2.0.20
113114
org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.0
114115
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.0
115-
org.jetbrains.kotlin:kotlin-stdlib:2.0.0
116-
org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3
117-
org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3
118-
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.3
119-
org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3
120-
org.jetbrains.kotlinx:kotlinx-datetime-jvm:0.5.0
121-
org.jetbrains.kotlinx:kotlinx-datetime:0.5.0
116+
org.jetbrains.kotlin:kotlin-stdlib:2.0.20
117+
org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.1
118+
org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.8.1
119+
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.8.1
120+
org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1
121+
org.jetbrains.kotlinx:kotlinx-datetime-jvm:0.6.1
122+
org.jetbrains.kotlinx:kotlinx-datetime:0.6.1
122123
org.jetbrains:annotations:23.0.0

0 commit comments

Comments
 (0)