Skip to content

Commit 4d6b37f

Browse files
authored
Merge unit, screenshot tests and coverage in a single CI call (#3593)
* Merge unit, screenshot tests and coverage tasks in a single CI call * Disable gradle daemon too since it's all in a single gradle call now * Make Kover upload the HTML reports on failure too
1 parent f8fa218 commit 4d6b37f

File tree

2 files changed

+4
-20
lines changed

2 files changed

+4
-20
lines changed

.github/workflows/tests.yml

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010
# Enrich gradle.properties for CI/CD
1111
env:
1212
GRADLE_OPTS: -Dorg.gradle.jvmargs="-Xmx7g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError" -Dkotlin.daemon.jvm.options=-Xmx2g -XX:+UseG1GC
13-
CI_GRADLE_ARG_PROPERTIES: --stacktrace -Dsonar.gradle.skipCompile=true
13+
CI_GRADLE_ARG_PROPERTIES: --stacktrace -Dsonar.gradle.skipCompile=true --no-daemon
1414

1515
jobs:
1616
tests:
@@ -56,22 +56,16 @@ jobs:
5656
with:
5757
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
5858

59-
- name: ⚙️ Run unit tests for debug variant
60-
run: ./gradlew testDebugUnitTest $CI_GRADLE_ARG_PROPERTIES
61-
62-
- name: 📸 Run screenshot tests
63-
run: ./gradlew verifyPaparazziDebug $CI_GRADLE_ARG_PROPERTIES
64-
65-
- name: 📈Generate kover report and verify coverage
66-
run: ./gradlew :app:koverXmlReportGplayDebug :app:koverHtmlReportGplayDebug :app:koverVerifyAll $CI_GRADLE_ARG_PROPERTIES
59+
- name: ⚙️ Check coverage for debug variant (includes unit & screenshot tests)
60+
run: ./gradlew :tests:uitests:verifyPaparazziDebug :app:koverXmlReportGplayDebug :app:koverHtmlReportGplayDebug :app:koverVerifyAll $CI_GRADLE_ARG_PROPERTIES
6761

6862
- name: 🚫 Upload kover failed coverage reports
6963
if: failure()
7064
uses: actions/upload-artifact@v4
7165
with:
7266
name: kover-error-report
7367
path: |
74-
app/build/reports/kover/verifyGplayDebug.err
68+
app/build/reports/kover
7569
7670
- name: ✅ Upload kover report (disabled)
7771
if: always()

tests/uitests/build.gradle.kts

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,6 @@ android {
1919
namespace = "ui"
2020
}
2121

22-
// Workaround: `kover` tasks somehow trigger the screenshot tests with a broken configuration, removing
23-
// any previous test results and not creating new ones. This is a workaround to disable the screenshot tests
24-
// when the `kover` tasks are detected.
25-
tasks.withType<Test> {
26-
if (project.gradle.startParameter.taskNames.any { it.contains("kover", ignoreCase = true) }) {
27-
println("WARNING: Kover task detected, disabling screenshot test task $name.")
28-
isEnabled = false
29-
}
30-
}
31-
3222
dependencies {
3323
// Paparazzi 1.3.2 workaround (see https://github.com/cashapp/paparazzi/blob/master/CHANGELOG.md#132---2024-01-13)
3424
constraints.add("testImplementation", "com.google.guava:guava") {

0 commit comments

Comments
 (0)