File tree Expand file tree Collapse file tree
android-snaptesting/src/main/java/com/telefonica/androidsnaptesting/screenshots Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -2,9 +2,16 @@ name: "Preintegration Checks"
22on :
33 pull_request :
44 workflow_dispatch :
5+
6+ concurrency :
7+ group : ${{ github.workflow }}-${{ github.ref }}
8+ cancel-in-progress : true
9+
510jobs :
611 tests :
7- runs-on : ubuntu-latest
12+ runs-on : [ self-hosted-org, linux ]
13+ container :
14+ image : docker://docker.tuenti.io/android/novum_android:13
815 steps :
916 - name : Checkout repo
1017 uses : actions/checkout@v4
1320 run : ' ./gradlew clean check assemble'
1421
1522 - name : " Check Gradle Plugin Project"
16- run : ' ./gradlew -p include-build clean check jar'
23+ run : ' ./gradlew -p include-build clean check jar'
Original file line number Diff line number Diff line change 66 library :
77 runs-on : [ self-hosted-org, linux ]
88 container :
9- image : docker://docker.tuenti.io/android/novum_android:12
9+ image : docker://docker.tuenti.io/android/novum_android:13
1010 steps :
1111 - name : Checkout repo
1212 uses : actions/checkout@v4
2525 plugin :
2626 runs-on : [ self-hosted-org, linux ]
2727 container :
28- image : docker://docker.tuenti.io/android/novum_android:12
28+ image : docker://docker.tuenti.io/android/novum_android:13
2929 steps :
3030 - name : Checkout repo
3131 uses : actions/checkout@v4
Original file line number Diff line number Diff line change 1+ name : " Create snapshot"
2+ on :
3+ workflow_dispatch :
4+ inputs :
5+ snapshot-version :
6+ description : " Snapshot version"
7+ required : true
8+ jobs :
9+ library :
10+ runs-on : [ self-hosted-org, linux ]
11+ container :
12+ image : docker://docker.tuenti.io/android/novum_android:13
13+ steps :
14+ - name : Checkout repo
15+ uses : actions/checkout@v4
16+
17+ - name : Publish library snapshot
18+ env :
19+ MOBILE_MAVENCENTRAL_USER : ${{ secrets.MOBILE_MAVENCENTRAL_USER }}
20+ MOBILE_MAVENCENTRAL_PASSWORD : ${{ secrets.MOBILE_MAVENCENTRAL_PASSWORD }}
21+ ORG_GRADLE_PROJECT_signingKey : ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGKEY }}
22+ ORG_GRADLE_PROJECT_signingPassword : ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGPASSWORD }}
23+ ORG_GRADLE_PROJECT_signingKeyId : ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGKEYID }}
24+ NEXUS_USER : ${{ secrets.NEXUS_RELEASE_USER }}
25+ NEXUS_PASS : ${{ secrets.NEXUS_RELEASE_PASSWORD }}
26+ run : |
27+ ./gradlew publishReleasePublicationToSnapshotsRepository -DLIBRARY_VERSION=${{ github.event.inputs.snapshot-version }}-SNAPSHOT
28+ plugin :
29+ runs-on : [ self-hosted-org, linux ]
30+ container :
31+ image : docker://docker.tuenti.io/android/novum_android:13
32+ steps :
33+ - name : Checkout repo
34+ uses : actions/checkout@v4
35+
36+ - name : Publish plugin snapshot
37+ env :
38+ GRADLE_PUBLISH_KEY : ${{ secrets.GRADLE_PUBLISH_KEY }}
39+ GRADLE_PUBLISH_SECRET : ${{ secrets.GRADLE_PUBLISH_SECRET }}
40+ NEXUS_USER : ${{ secrets.NEXUS_RELEASE_USER }}
41+ NEXUS_PASS : ${{ secrets.NEXUS_RELEASE_PASSWORD }}
42+ run : |
43+ cd include-build
44+ ../gradlew publishGradlePluginPublicationToMavenRepository -DLIBRARY_VERSION=${{ github.event.inputs.snapshot-version }}-SNAPSHOT
Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ import android.widget.HorizontalScrollView
1111import android.widget.ScrollView
1212import androidx.annotation.RequiresApi
1313import androidx.compose.ui.graphics.asAndroidBitmap
14+ import androidx.compose.ui.test.SemanticsNodeInteraction
1415import androidx.compose.ui.test.captureToImage
1516import androidx.compose.ui.test.junit4.ComposeTestRule
1617import androidx.compose.ui.test.onRoot
@@ -60,11 +61,22 @@ public class ScreenshotsRule(
6061 rule : ComposeTestRule ,
6162 name : String? = null,
6263 ) {
64+ disableFlakyComponentsAndWaitForIdle()
6365 rule.waitForIdle()
6466 val bitmap = rule.onRoot().captureToImage().asAndroidBitmap()
6567 compareScreenshot(bitmap, name)
6668 }
6769
70+ @RequiresApi(Build .VERSION_CODES .O )
71+ public fun compareScreenshot (
72+ node : SemanticsNodeInteraction ,
73+ name : String? = null
74+ ) {
75+ disableFlakyComponentsAndWaitForIdle()
76+ val bitmap = node.captureToImage().asAndroidBitmap()
77+ compareScreenshot(bitmap, name)
78+ }
79+
6880 public fun compareScreenshot (
6981 activity : Activity ,
7082 name : String? = null,
You can’t perform that action at this time.
0 commit comments