diff --git a/.github/workflows/nightlyReports.yml b/.github/workflows/nightlyReports.yml index ef2c294f2e..89c992e2c9 100644 --- a/.github/workflows/nightlyReports.yml +++ b/.github/workflows/nightlyReports.yml @@ -29,8 +29,11 @@ jobs: - name: βš™οΈ Run unit tests, debug and release run: ./gradlew test $CI_GRADLE_ARG_PROPERTIES - - name: πŸ“ˆ Run screenshot tests, generate kover report and verify coverage - run: ./gradlew verifyPaparazziDebug koverMergedReport koverMergedVerify $CI_GRADLE_ARG_PROPERTIES -Pci-build=true + - name: πŸ“Έ Run screenshot tests + run: ./gradlew verifyPaparazziDebug $CI_GRADLE_ARG_PROPERTIES + + - name: πŸ“ˆ Generate kover report and verify coverage + run: ./gradlew koverMergedReport koverMergedVerify $CI_GRADLE_ARG_PROPERTIES -Pci-build=true - name: βœ… Upload kover report if: always() diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index e219067e9c..9dfe7dc06b 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -51,6 +51,12 @@ jobs: name: linting-report path: | */build/reports/**/*.* + - name: πŸ”Š Publish results to Sonar + env: + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + ORG_GRADLE_PROJECT_SONAR_LOGIN: ${{ secrets.SONAR_TOKEN }} + if: ${{ always() && env.SONAR_TOKEN != '' && env.ORG_GRADLE_PROJECT_SONAR_LOGIN != '' }} + run: ./gradlew sonar $CI_GRADLE_ARG_PROPERTIES - name: Prepare Danger if: always() run: | diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index ffdd6f5ad7..e5a35da4c9 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -40,8 +40,11 @@ jobs: - name: βš™οΈ Run unit tests, debug and release run: ./gradlew test $CI_GRADLE_ARG_PROPERTIES - - name: πŸ“ˆ Run screenshot tests, generate kover report and verify coverage - run: ./gradlew verifyPaparazziDebug koverMergedReport koverMergedVerify $CI_GRADLE_ARG_PROPERTIES -Pci-build=true + - name: πŸ“Έ Run screenshot tests + run: ./gradlew verifyPaparazziDebug $CI_GRADLE_ARG_PROPERTIES + + - name: πŸ“ˆGenerate kover report and verify coverage + run: ./gradlew koverMergedReport koverMergedVerify $CI_GRADLE_ARG_PROPERTIES -Pci-build=true - name: 🚫 Upload kover failed coverage reports if: failure() @@ -80,13 +83,6 @@ jobs: **/out/failures/ **/build/reports/tests/*UnitTest/ - - name: πŸ”Š Publish results to Sonar - env: - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - ORG_GRADLE_PROJECT_SONAR_LOGIN: ${{ secrets.SONAR_TOKEN }} - if: ${{ always() && env.SONAR_TOKEN != '' && env.ORG_GRADLE_PROJECT_SONAR_LOGIN != '' }} - run: ./gradlew sonar $CI_GRADLE_ARG_PROPERTIES - # https://github.com/codecov/codecov-action - name: β˜‚οΈ Upload coverage reports to codecov if: always() diff --git a/build.gradle.kts b/build.gradle.kts index f8eda34bd8..e9adcdee63 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -283,13 +283,6 @@ koverMerged { } } -// Make Kover depend on Paparazzi -tasks.whenTaskAdded { - if (name.startsWith("koverMerged")) { - dependsOn(":tests:uitests:verifyPaparazziDebug") - } -} - // When running on the CI, run only debug test variants val ciBuildProperty = "ci-build" val isCiBuild = if (project.hasProperty(ciBuildProperty)) { diff --git a/tests/uitests/build.gradle.kts b/tests/uitests/build.gradle.kts index 13f43b22d4..e60a7366dc 100644 --- a/tests/uitests/build.gradle.kts +++ b/tests/uitests/build.gradle.kts @@ -28,6 +28,16 @@ android { namespace = "io.element.android.tests.uitests" } +// Workaround: `kover` tasks somehow trigger the screenshot tests with a broken configuration, removing +// any previous test results and not creating new ones. This is a workaround to disable the screenshot tests +// when the `kover` tasks are detected. +tasks.withType() { + if (project.gradle.startParameter.taskNames.any { it.contains("kover", ignoreCase = true) }) { + println("WARNING: Kover task detected, disabling screenshot test task $name.") + isEnabled = false + } +} + dependencies { testImplementation(libs.test.junit) testImplementation(libs.test.parameter.injector)