From 14eb692a613a870e7e8911f351547da97dc33aa6 Mon Sep 17 00:00:00 2001 From: Alva Swanson Date: Wed, 31 May 2023 10:20:17 +0200 Subject: [PATCH 1/5] Fix broken gson version enforcement We strictly enforce version 2.8.5 for all modules, but the cli module transitively depends on version 2.8.6. --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 4830b7d27a3..87e35c2761b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -18,7 +18,7 @@ fontawesomefx-materialdesign-font = { strictly = '2.0.26-9.1.2' } fxmisc-easybind = { strictly = '1.0.3' } google-findbugs = { strictly = '3.0.2' } -google-gson = { strictly = '2.8.5' } +google-gson = { strictly = '2.8.6' } google-guava = { strictly = '30.1.1-jre' } google-guice = { strictly = '5.0.1' } From dc56e0105ab4e604f92d17cbbd4faaf14e67b4a0 Mon Sep 17 00:00:00 2001 From: Alva Swanson Date: Wed, 31 May 2023 10:22:05 +0200 Subject: [PATCH 2/5] Add JaCoCo Gradle Plugin to all modules --- .../main/groovy/bisq.java-conventions.gradle | 8 +++ gradle/verification-metadata.xml | 69 +++++++++++++++++++ 2 files changed, 77 insertions(+) diff --git a/build-logic/commons/src/main/groovy/bisq.java-conventions.gradle b/build-logic/commons/src/main/groovy/bisq.java-conventions.gradle index 87449d028eb..91bb9781914 100644 --- a/build-logic/commons/src/main/groovy/bisq.java-conventions.gradle +++ b/build-logic/commons/src/main/groovy/bisq.java-conventions.gradle @@ -1,5 +1,6 @@ plugins { id 'java' + id 'jacoco' } repositories { @@ -31,3 +32,10 @@ dependencies { test { useJUnitPlatform() } + +jacocoTestReport { + reports { + html.required = false + xml.required = true + } +} diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index 78be5ce9392..4e74fc28728 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -1197,6 +1197,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1717,6 +1754,14 @@ + + + + + + + + @@ -1725,6 +1770,14 @@ + + + + + + + + @@ -1733,6 +1786,14 @@ + + + + + + + + @@ -1741,6 +1802,14 @@ + + + + + + + + From b856e60eb010c010bc00b1a17b369039f36e20e3 Mon Sep 17 00:00:00 2001 From: Alva Swanson Date: Wed, 31 May 2023 10:25:32 +0200 Subject: [PATCH 3/5] Create standalone code coverage aggregation module --- code-coverage-report/build.gradle | 26 ++++++++++++++++++++++++++ settings.gradle | 1 + 2 files changed, 27 insertions(+) create mode 100644 code-coverage-report/build.gradle diff --git a/code-coverage-report/build.gradle b/code-coverage-report/build.gradle new file mode 100644 index 00000000000..5bb79dba625 --- /dev/null +++ b/code-coverage-report/build.gradle @@ -0,0 +1,26 @@ +plugins { + id 'base' + id 'jacoco-report-aggregation' +} + +repositories { + mavenCentral() + maven { url "https://jitpack.io" } +} + +dependencies { + jacocoAggregation project(':apitest') + jacocoAggregation project(':cli') + jacocoAggregation project(':daemon') + jacocoAggregation project(':desktop') + jacocoAggregation project(':seednode') + jacocoAggregation project(':statsnode') +} + +reporting { + reports { + testCodeCoverageReport(JacocoCoverageReport) { + testType = TestSuiteType.UNIT_TEST + } + } +} diff --git a/settings.gradle b/settings.gradle index 530d25e2f17..558941e4ec1 100644 --- a/settings.gradle +++ b/settings.gradle @@ -16,5 +16,6 @@ include 'desktop' include 'seednode' include 'statsnode' include 'apitest' +include 'code-coverage-report' rootProject.name = 'bisq' From 73af9b3f7091530f5afa87f3e0c89b4cc3f8bfba Mon Sep 17 00:00:00 2001 From: Alva Swanson Date: Wed, 31 May 2023 10:28:04 +0200 Subject: [PATCH 4/5] GitHub Actions: Create aggregated JaCoCo coverage report --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8d9cb069956..a4b54785d4f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -28,4 +28,4 @@ jobs: - name: Build with Gradle uses: gradle/gradle-build-action@v2.4.2 with: - arguments: build --scan + arguments: build jacocoTestReport testCodeCoverageReport --scan From 228130794f1efc7c5c0365fec6f4c46751c67c01 Mon Sep 17 00:00:00 2001 From: Alva Swanson Date: Wed, 31 May 2023 10:29:45 +0200 Subject: [PATCH 5/5] GitHub Actions: Upload Coverage Report to Codacy --- .github/workflows/build.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a4b54785d4f..3e57785a794 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -29,3 +29,26 @@ jobs: uses: gradle/gradle-build-action@v2.4.2 with: arguments: build jacocoTestReport testCodeCoverageReport --scan + + - name: Upload coverage report + uses: actions/upload-artifact@v3 + with: + name: coverage-report + path: code-coverage-report/build/reports/jacoco/testCodeCoverageReport/testCodeCoverageReport.xml + + publish_coverage: + name: Publish coverage + runs-on: ubuntu-latest + needs: build + steps: + - name: Download coverage report + uses: actions/download-artifact@v3 + with: + name: coverage-report + path: code-coverage-report/build/reports/jacoco/testCodeCoverageReport + + - 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 }}/code-coverage-report/build/reports/jacoco/testCodeCoverageReport/testCodeCoverageReport.xml