Aggregate and send coverage report to Codacy

This commit is contained in:
napoly 2023-05-11 00:47:12 +02:00 committed by woodser
parent 51fb7d5eba
commit aeb0822f9f
4 changed files with 69 additions and 142 deletions

View File

@ -30,9 +30,3 @@ jobs:
with:
name: cached-localnet
path: .localnet
- uses: actions/upload-artifact@v3
if: failure()
with:
name: gradlew-report
path: 'desktop/build/reports/tests/test/index.html'
retention-days: 30

View File

@ -0,0 +1,28 @@
name: Codacy Coverage Reporter
on: ["push"]
permissions:
contents: read
jobs:
build:
name: Publish coverage
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: '11'
distribution: 'adopt'
- name: Build with Gradle
run: ./gradlew clean build -x checkstyleMain -x checkstyleTest -x shadowJar
- name: Run codacy coverage reporter
uses: codacy/codacy-coverage-reporter-action@v1.3.0
with:
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
coverage-reports: ${{ github.workspace }}/build/reports/jacoco/testCodeCoverageReport/testCodeCoverageReport.xml

View File

@ -28,6 +28,7 @@ configure(subprojects) {
apply plugin: 'com.google.osdetector'
// Apply the jacoco plugin to add support for test coverage
apply plugin: 'jacoco'
apply plugin: 'jacoco-report-aggregation'
apply plugin: 'checkstyle'
sourceCompatibility = JavaVersion.VERSION_11
@ -47,7 +48,7 @@ configure(subprojects) {
grpcVersion = '1.42.1'
gsonVersion = '2.8.5'
guavaVersion = '30.1.1-jre'
guiceVersion = '4.2.2'
guiceVersion = '5.1.0'
moneroJavaVersion = '0.8.0'
httpclient5Version = '5.0'
hamcrestVersion = '2.2'
@ -95,7 +96,7 @@ configure(subprojects) {
checkstyle {
toolVersion = '10.8.1'
// https://raw.githubusercontent.com/checkstyle/checkstyle/checkstyle-10.8.1/src/main/resources/google_checks.xml
configFile = rootProject.file("${rootDir}/config/checkstyle/checkstyle.xml")
configFile = rootProject.file("$rootDir/config/checkstyle/checkstyle.xml")
}
tasks.withType(Checkstyle) {
@ -103,14 +104,20 @@ configure(subprojects) {
maxHeapSize.set('1g')
}
jacocoTestReport {
reports {
xml.required.set(true)
html.required.set(false)
jacoco {
toolVersion = "0.8.10"
reportsDirectory = file("$rootDir/build/reports/jacoco")
}
test.finalizedBy {
testCodeCoverageReport {
// tests are required to run before generating the report
reports {
xml.required.set(true)
html.required.set(false)
}
}
}
// Codacy report generated with every build at assets/build/reports/jacoco/test/jacocoTestReport.xml
test.finalizedBy jacocoTestReport
}
configure([project(':cli'),

View File

@ -831,17 +831,9 @@
<sha256 value="2527e9d1eac4822ba94f6fffe4f0b6d6e757e4a33ece5406674f60b7f6494b06" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.google.inject" name="guice" version="4.2.2">
<artifact name="guice-4.2.2.jar">
<sha256 value="d258ff1bd9b8b527872f8402648226658ad3149f1f40e74b0566d69e7e042fbc" origin="Generated by Gradle"/>
</artifact>
<artifact name="guice-4.2.2.pom">
<sha256 value="06f3c3ddad57b30bfe88655456a04731e56a78ad0dd909e65c71881003b96479" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.google.inject" name="guice-parent" version="4.2.2">
<artifact name="guice-parent-4.2.2.pom">
<sha256 value="5a74ba3d22be1ac13b9e782f13a7d957db2a24ded359481394c9e889f1c037d6" origin="Generated by Gradle"/>
<component group="com.google.inject" name="guice" version="5.1.0">
<artifact name="guice-5.1.0.jar">
<sha256 value="4130e50bfac48099c860f0d903b91860c81a249c90f38245f8fed58fc817bc26" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.google.j2objc" name="j2objc-annotations" version="1.1">
@ -2376,48 +2368,24 @@
<sha256 value="e22cd7e20bebaa53f9fc3b5631e550c740d480ada56e0d1cd85e236a37e95c2c" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jacoco" name="org.jacoco.agent" version="0.8.5">
<artifact name="org.jacoco.agent-0.8.5.jar">
<sha256 value="852e1bf147fceab6caf7a82887dba2864d88bca6020524b67dddda073398d2f8" origin="Generated by Gradle"/>
</artifact>
<artifact name="org.jacoco.agent-0.8.5.pom">
<sha256 value="c3b2f50b692f2b081d85613527917bc6812f922e1da469a11682653b16f283fd" origin="Generated by Gradle"/>
<component group="org.jacoco" name="org.jacoco.agent" version="0.8.10">
<artifact name="org.jacoco.agent-0.8.10.jar">
<sha256 value="32d62211c0a323f50822a750a647c122b2b1b559f63533ea2e324c0324381370" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jacoco" name="org.jacoco.agent" version="0.8.7">
<artifact name="org.jacoco.agent-0.8.7.jar">
<sha256 value="9cbcc986e0fbe821a78ff1f8f7d5216f200e5eb124e7f6837d1dc4a77b28b143" origin="Generated by Gradle"/>
</artifact>
<artifact name="org.jacoco.agent-0.8.7.pom">
<sha256 value="e7b2cdd2df3a6bc239a231b1775be09e50b748e9c388579fb3ea4f990357722f" origin="Generated by Gradle"/>
<component group="org.jacoco" name="org.jacoco.ant" version="0.8.10">
<artifact name="org.jacoco.ant-0.8.10.jar">
<sha256 value="a7c8dd6741acb337cc0771a9bf176aa67c09a52a6de011eb7a0f5e78c9bd5872" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jacoco" name="org.jacoco.agent" version="0.8.8">
<artifact name="org.jacoco.agent-0.8.8.jar">
<sha256 value="072ecbd496896623899a696fff12c01c1615f737616d2792e6d0e10cdf8a610d" origin="Generated by Gradle"/>
<component group="org.jacoco" name="org.jacoco.core" version="0.8.10">
<artifact name="org.jacoco.core-0.8.10.jar">
<sha256 value="e789667d93a7503938ee978ae4fbbc9a1bccda3b546299b24d8550d816d80e08" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jacoco" name="org.jacoco.ant" version="0.8.5">
<artifact name="org.jacoco.ant-0.8.5.jar">
<sha256 value="cd2289b9f955c8064054145f3871e18101840ae73ee6b9f835aea51573506cce" origin="Generated by Gradle"/>
</artifact>
<artifact name="org.jacoco.ant-0.8.5.pom">
<sha256 value="4b74fc5373ad70d387f3738ce0e9d4b170944039739e2b12a87c24202c002282" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jacoco" name="org.jacoco.ant" version="0.8.8">
<artifact name="org.jacoco.ant-0.8.8.jar">
<sha256 value="02e33bd2c48dc0be67c2fea84d43beececfd400da6797c58153253d4c30aca15" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jacoco" name="org.jacoco.core" version="0.8.8">
<artifact name="org.jacoco.core-0.8.8.jar">
<sha256 value="474c782f809d88924713dfdbf0acb79d330f904be576484803463d0465611643" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.jacoco" name="org.jacoco.report" version="0.8.8">
<artifact name="org.jacoco.report-0.8.8.jar">
<sha256 value="2c129110f3e3fcaa1f8179578ea3894586199cb0826be5c7790278084c9622a9" origin="Generated by Gradle"/>
<component group="org.jacoco" name="org.jacoco.report" version="0.8.10">
<artifact name="org.jacoco.report-0.8.10.jar">
<sha256 value="3e35c14f7853c7c88dbe04cf086ee053a5739f419e98009909bbedecddddd50c" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.javassist" name="javassist" version="3.28.0-GA">
@ -3145,76 +3113,14 @@
<sha256 value="0f8a1b116e760b8fe6389c51b84e4b07a70fc11082d4f936e453b583dd50b43b" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ow2.asm" name="asm" version="7.0-beta">
<artifact name="asm-7.0-beta.jar">
<sha256 value="ba84438f0f08ae2c2f85423dc3628361d20197c46a194687defdf63ed1896a3a" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ow2.asm" name="asm" version="7.2">
<artifact name="asm-7.2.jar">
<sha256 value="7e6cc9e92eb94d04e39356c6d8144ca058cda961c344a7f62166a405f3206672" origin="Generated by Gradle"/>
</artifact>
<artifact name="asm-7.2.pom">
<sha256 value="e9e529afbd4bc699f6a3380855d27d13017c360fdb68547e06d1c3842d84e262" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ow2.asm" name="asm" version="9.0">
<artifact name="asm-9.0.jar">
<sha256 value="0df97574914aee92fd349d0cb4e00f3345d45b2c239e0bb50f0a90ead47888e0" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ow2.asm" name="asm" version="9.1">
<artifact name="asm-9.1.jar">
<sha256 value="cda4de455fab48ff0bcb7c48b4639447d4de859a7afc30a094a986f0936beba2" origin="Generated by Gradle"/>
</artifact>
<artifact name="asm-9.1.pom">
<sha256 value="c683a90dd68f2b1788cbdfc4647ea9405ef5925b371c199f8fd39d44d3cede8d" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ow2.asm" name="asm" version="9.2">
<artifact name="asm-9.2.jar">
<sha256 value="b9d4fe4d71938df38839f0eca42aaaa64cf8b313d678da036f0cb3ca199b47f5" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ow2.asm" name="asm" version="9.4">
<artifact name="asm-9.4.jar">
<sha256 value="39d0e2b3dc45af65a09b097945750a94a126e052e124f93468443a1d0e15f381" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ow2.asm" name="asm-analysis" version="7.0-beta">
<artifact name="asm-analysis-7.0-beta.jar">
<sha256 value="4d2b20a1fb44acb33b0ddb80be58b2ad7838c1fb520282a655a1217b3c6acf19" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ow2.asm" name="asm-analysis" version="7.2">
<artifact name="asm-analysis-7.2.jar">
<sha256 value="be922aae60ff1ff1768e8e6544a38a7f92bd0a6d6b0b9791f94955d1bd453de2" origin="Generated by Gradle"/>
</artifact>
<artifact name="asm-analysis-7.2.pom">
<sha256 value="71faa63489b3de4d6251581d2b26e87e0c167c5a08198ca62853fd83644d841f" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ow2.asm" name="asm-analysis" version="9.2">
<artifact name="asm-analysis-9.2.jar">
<sha256 value="878fbe521731c072d14d2d65b983b1beae6ad06fda0007b6a8bae81f73f433c4" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ow2.asm" name="asm-commons" version="7.0-beta">
<artifact name="asm-commons-7.0-beta.jar">
<sha256 value="3d8ec2534b883541b966e6dde9004967d34f7311789028afc92e2e066867dac4" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ow2.asm" name="asm-commons" version="7.2">
<artifact name="asm-commons-7.2.jar">
<sha256 value="0e86b8b179c5fb223d1a880a0ff4960b6978223984b94e62e71135f2d8ea3558" origin="Generated by Gradle"/>
</artifact>
<artifact name="asm-commons-7.2.pom">
<sha256 value="190ed352a8c20594b196b20194d06773b91c86b8d36868f937e5dbd0e9c0d78d" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ow2.asm" name="asm-commons" version="9.2">
<artifact name="asm-commons-9.2.jar">
<sha256 value="be4ce53138a238bb522cd781cf91f3ba5ce2f6ca93ec62d46a162a127225e0a6" origin="Generated by Gradle"/>
<component group="org.ow2.asm" name="asm" version="9.5">
<artifact name="asm-9.5.jar">
<sha256 value="b62e84b5980729751b0458c534cf1366f727542bb8d158621335682a460f0353" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ow2.asm" name="asm-commons" version="9.4">
@ -3222,22 +3128,9 @@
<sha256 value="0c128a9ec3f33c98959272f6d16cf14247b508f58951574bcdbd2b56d6326364" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ow2.asm" name="asm-tree" version="7.0-beta">
<artifact name="asm-tree-7.0-beta.jar">
<sha256 value="a2ec5b55ceb359c324ad48b15e912e33c75889237413976d1505fe32ecde82f2" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ow2.asm" name="asm-tree" version="7.2">
<artifact name="asm-tree-7.2.jar">
<sha256 value="c063f5a67fa03cdc9bd79fd1c2ea6816cc4a19473ecdfbd9e9153b408c6f2656" origin="Generated by Gradle"/>
</artifact>
<artifact name="asm-tree-7.2.pom">
<sha256 value="56765f0a8bd0978214f7ec87a9dafb5825b8191cff554a5adc14c65d1f5b0442" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ow2.asm" name="asm-tree" version="9.2">
<artifact name="asm-tree-9.2.jar">
<sha256 value="aabf9bd23091a4ebfc109c1f3ee7cf3e4b89f6ba2d3f51c5243f16b3cffae011" origin="Generated by Gradle"/>
<component group="org.ow2.asm" name="asm-commons" version="9.5">
<artifact name="asm-commons-9.5.jar">
<sha256 value="72eee9fbafb9de8d9463f20dd584a48ceeb7e5152ad4c987bfbe17dd4811c9ae" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ow2.asm" name="asm-tree" version="9.4">
@ -3245,6 +3138,11 @@
<sha256 value="c42d479cf24566a21eb20af7eeaeef4e86bdb4a886306cf72f483b65e75b2acf" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ow2.asm" name="asm-tree" version="9.5">
<artifact name="asm-tree-9.5.jar">
<sha256 value="3c33a648191079aeaeaeb7c19a49b153952f9e40fe86fbac5205554ddd9acd94" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.pcollections" name="pcollections" version="2.1.2">
<artifact name="pcollections-2.1.2.jar">
<sha256 value="29c8ffcc5c6a97f059941148593ad00fe2cdf78af1d88d46bcf0d1bb703606c2" origin="Generated by Gradle"/>