diff --git a/.github/workflows/pre-merge.yaml b/.github/workflows/pre-merge.yaml index 3a29d778f..5853f1e2e 100644 --- a/.github/workflows/pre-merge.yaml +++ b/.github/workflows/pre-merge.yaml @@ -28,7 +28,7 @@ jobs: uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 with: distribution: 'temurin' - java-version: '17' + java-version: '21' - name: Setup Gradle uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # pin@v4 @@ -46,3 +46,7 @@ jobs: - name: Build the Debug and Release variants run: ./gradlew assemble + + - name: Record and upload snapshots + if: env.SENTRY_AUTH_TOKEN != '' + run: ./gradlew :examples:android-instrumentation-sample:sentryUploadSnapshotsStagingDebug diff --git a/examples/android-instrumentation-sample/build.gradle.kts b/examples/android-instrumentation-sample/build.gradle.kts index cd7c3253c..04487f9bf 100644 --- a/examples/android-instrumentation-sample/build.gradle.kts +++ b/examples/android-instrumentation-sample/build.gradle.kts @@ -4,6 +4,7 @@ plugins { alias(libs.plugins.androidApplication) version BuildPluginsVersion.AGP alias(libs.plugins.kotlinAndroid) version BuildPluginsVersion.KOTLIN alias(libs.plugins.ksp) + alias(libs.plugins.paparazzi) id("io.sentry.android.gradle") id("io.sentry.kotlin.compiler.gradle") } @@ -86,6 +87,7 @@ dependencies { implementation(libs.sample.androidx.composeFoundation) implementation(libs.sample.androidx.composeFoundationLayout) implementation(libs.sample.androidx.composeNavigation) + implementation(libs.sample.androidx.composeUiToolingPreview) implementation(libs.sample.coroutines.core) implementation(libs.sample.coroutines.android) @@ -113,4 +115,6 @@ sentry { telemetryDsn.set(CI.SENTRY_SDKS_DSN) tracingInstrumentation { forceInstrumentDependencies.set(true) } + + snapshots { enabled.set(true) } } diff --git a/examples/android-instrumentation-sample/src/main/java/io/sentry/samples/instrumentation/ui/ComposeActivity.kt b/examples/android-instrumentation-sample/src/main/java/io/sentry/samples/instrumentation/ui/ComposeActivity.kt index 8671c6200..f69d90b05 100644 --- a/examples/android-instrumentation-sample/src/main/java/io/sentry/samples/instrumentation/ui/ComposeActivity.kt +++ b/examples/android-instrumentation-sample/src/main/java/io/sentry/samples/instrumentation/ui/ComposeActivity.kt @@ -16,6 +16,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color +import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.navigation.NavController import androidx.navigation.compose.NavHost @@ -62,6 +63,12 @@ class ComposeActivity : ComponentActivity() { } } +@Preview +@Composable +fun HomeTextPreview() { + HomeText(rememberNavController(), RoundedCornerShape(50)) +} + @Composable fun HomeText(navController: NavController, pillShape: RoundedCornerShape) { BasicText( @@ -74,6 +81,12 @@ fun HomeText(navController: NavController, pillShape: RoundedCornerShape) { ) } +@Preview +@Composable +fun DetailsTextPreview() { + DetailsText(rememberNavController(), RoundedCornerShape(50)) +} + @Composable fun DetailsText(navController: NavController, pillShape: RoundedCornerShape) { BasicText( diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 46d2472bb..462286294 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -28,6 +28,7 @@ buildConfig = { id = "com.github.gmazzo.buildconfig", version = "4.2.0" } springBoot = { id = "org.springframework.boot", version = "3.4.1" } springDependencyManagement = { id = "io.spring.dependency-management", version = "1.1.7" } composeCompiler = { id = "org.jetbrains.kotlin.plugin.compose", version = "2.1.0" } +paparazzi = { id = "app.cash.paparazzi", version = "2.0.0-alpha04" } [libraries] junit = { group = "junit", name = "junit", version = "4.13.2" } @@ -70,6 +71,7 @@ sample-androidx-composeNavigation = "androidx.navigation:navigation-compose:2.5. sample-androidx-composeActivity = "androidx.activity:activity-compose:1.4.0" sample-androidx-composeFoundation = "androidx.compose.foundation:foundation:1.5.4" sample-androidx-composeFoundationLayout = "androidx.compose.foundation:foundation-layout:1.5.4" +sample-androidx-composeUiToolingPreview = "androidx.compose.ui:ui-tooling-preview:1.5.4" sample-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "sampleCoroutines" } sample-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "sampleCoroutines" }