Try to improve 'Tests' CI job times (#865)
* Try to improve 'Tests' CI job times * Remove `-Pci-build=true` for jobs where the debug mode can be explicitly used * Add some more excluded `*State` values for kover * Run paparazzi verification at the same time as Kover tasks, otherwise the coverage is lost.
This commit is contained in:
parent
df1c0091ab
commit
64b6970c89
3 changed files with 20 additions and 12 deletions
8
.github/workflows/nightlyReports.yml
vendored
8
.github/workflows/nightlyReports.yml
vendored
|
|
@ -26,11 +26,11 @@ jobs:
|
||||||
distribution: 'temurin' # See 'Supported distributions' for available options
|
distribution: 'temurin' # See 'Supported distributions' for available options
|
||||||
java-version: '17'
|
java-version: '17'
|
||||||
|
|
||||||
- name: ⚙️ Run unit & screenshot tests, debug and release
|
- name: ⚙️ Run unit tests, debug and release
|
||||||
run: ./gradlew test $CI_GRADLE_ARG_PROPERTIES -Pci-build=true
|
run: ./gradlew test $CI_GRADLE_ARG_PROPERTIES
|
||||||
|
|
||||||
- name: ⚙️ Run unit & screenshot tests, generate kover report
|
- name: 📈 Run screenshot tests, generate kover report and verify coverage
|
||||||
run: ./gradlew koverMergedReport $CI_GRADLE_ARG_PROPERTIES -Pci-build=true
|
run: ./gradlew verifyPaparazziDebug koverMergedReport koverMergedVerify $CI_GRADLE_ARG_PROPERTIES -Pci-build=true
|
||||||
|
|
||||||
- name: ✅ Upload kover report
|
- name: ✅ Upload kover report
|
||||||
if: always()
|
if: always()
|
||||||
|
|
|
||||||
11
.github/workflows/tests.yml
vendored
11
.github/workflows/tests.yml
vendored
|
|
@ -37,14 +37,11 @@ jobs:
|
||||||
with:
|
with:
|
||||||
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
||||||
|
|
||||||
- name: ⚙️ Run unit & screenshot tests, debug and release
|
- name: ⚙️ Run unit tests, debug and release
|
||||||
run: ./gradlew test $CI_GRADLE_ARG_PROPERTIES -Pci-build=true
|
run: ./gradlew test $CI_GRADLE_ARG_PROPERTIES
|
||||||
|
|
||||||
- name: ⚙️ Run unit & screenshot tests, generate kover report
|
- name: 📈 Run screenshot tests, generate kover report and verify coverage
|
||||||
run: ./gradlew koverMergedReport $CI_GRADLE_ARG_PROPERTIES -Pci-build=true
|
run: ./gradlew verifyPaparazziDebug koverMergedReport koverMergedVerify $CI_GRADLE_ARG_PROPERTIES -Pci-build=true
|
||||||
|
|
||||||
- name: 📈 Verify coverage
|
|
||||||
run: ./gradlew koverMergedVerify $CI_GRADLE_ARG_PROPERTIES -Pci-build=true
|
|
||||||
|
|
||||||
- name: 🚫 Upload kover failed coverage reports
|
- name: 🚫 Upload kover failed coverage reports
|
||||||
if: failure()
|
if: failure()
|
||||||
|
|
|
||||||
|
|
@ -135,6 +135,15 @@ allprojects {
|
||||||
allprojects {
|
allprojects {
|
||||||
tasks.withType<Test> {
|
tasks.withType<Test> {
|
||||||
maxParallelForks = (Runtime.getRuntime().availableProcessors() / 2).coerceAtLeast(1)
|
maxParallelForks = (Runtime.getRuntime().availableProcessors() / 2).coerceAtLeast(1)
|
||||||
|
|
||||||
|
val isScreenshotTest = project.gradle.startParameter.taskNames.any { it.contains("paparazzi", ignoreCase = true) }
|
||||||
|
if (isScreenshotTest) {
|
||||||
|
// Increase heap size for screenshot tests
|
||||||
|
maxHeapSize = "1g"
|
||||||
|
} else {
|
||||||
|
// Disable screenshot tests by default
|
||||||
|
exclude("**/ScreenshotTest*")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -245,9 +254,11 @@ koverMerged {
|
||||||
excludes += "io.element.android.libraries.push.impl.notifications.NotificationState*"
|
excludes += "io.element.android.libraries.push.impl.notifications.NotificationState*"
|
||||||
excludes += "io.element.android.features.messages.impl.media.local.pdf.PdfViewerState"
|
excludes += "io.element.android.features.messages.impl.media.local.pdf.PdfViewerState"
|
||||||
excludes += "io.element.android.features.messages.impl.media.local.LocalMediaViewState"
|
excludes += "io.element.android.features.messages.impl.media.local.LocalMediaViewState"
|
||||||
excludes += "io.element.android.features.location.impl.map.MapState"
|
excludes += "io.element.android.features.location.impl.map.MapState*"
|
||||||
excludes += "io.element.android.libraries.matrix.api.timeline.item.event.LocalEventSendState*"
|
excludes += "io.element.android.libraries.matrix.api.timeline.item.event.LocalEventSendState*"
|
||||||
excludes += "io.element.android.libraries.designsystem.swipe.SwipeableActionsState*"
|
excludes += "io.element.android.libraries.designsystem.swipe.SwipeableActionsState*"
|
||||||
|
excludes += "io.element.android.features.messages.impl.timeline.components.ExpandableState*"
|
||||||
|
excludes += "io.element.android.features.messages.impl.timeline.model.bubble.BubbleState*"
|
||||||
}
|
}
|
||||||
bound {
|
bound {
|
||||||
minValue = 90
|
minValue = 90
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue