Browse Source

Kover: add verify rules: global and for Presenters

kittykat-patch-1
Benoit Marty 2 years ago
parent
commit
d02744bc17
  1. 9
      .github/workflows/quality.yml
  2. 31
      build.gradle.kts

9
.github/workflows/quality.yml

@ -29,6 +29,15 @@ jobs: @@ -29,6 +29,15 @@ jobs:
name: linting-report
path: |
*/build/reports/**/*.*
- name: Check Kover rules
run: ./gradlew koverMergedVerify $CI_GRADLE_ARG_PROPERTIES
- name: Upload reports
if: failure()
uses: actions/upload-artifact@v3
with:
name: kover-report
path: |
*/build/reports/kover/merged/verification/errors.txt
- name: Prepare Danger
if: always()
run: |

31
build.gradle.kts

@ -174,4 +174,35 @@ koverMerged { @@ -174,4 +174,35 @@ koverMerged {
)
}
}
// Run ./gradlew koverMergedVerify to check the rules.
verify {
// Does not seems to work, so also run the task manually on the workflow.
onCheck.set(true)
// General rule: minimum code coverage.
rule {
name = "Global minimum code coverage."
target = kotlinx.kover.api.VerificationTarget.ALL
bound {
minValue = 35
// Setting a max value, so that if coverage is bigger, it means that we have to change minValue.
maxValue = 40
counter = kotlinx.kover.api.CounterType.LINE
valueType = kotlinx.kover.api.VerificationValueType.COVERED_PERCENTAGE
}
}
// Rule to ensure that coverage of Presenters is sufficient.
rule {
name = "Check code coverage of presenters"
target = kotlinx.kover.api.VerificationTarget.CLASS
overrideClassFilter {
includes += "*Presenter"
}
bound {
minValue = 80
counter = kotlinx.kover.api.CounterType.LINE
valueType = kotlinx.kover.api.VerificationValueType.COVERED_PERCENTAGE
}
}
}
}

Loading…
Cancel
Save