From c08e6f1add4472bc4de5420a5ee5ae368f1453c6 Mon Sep 17 00:00:00 2001 From: Rashidi Zin Date: Sat, 30 Aug 2025 12:24:21 +0800 Subject: [PATCH 1/6] Reuse gradle-build cache for Sonar --- .github/workflows/gradle-build.yml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/.github/workflows/gradle-build.yml b/.github/workflows/gradle-build.yml index 3982411a..bf33dca5 100644 --- a/.github/workflows/gradle-build.yml +++ b/.github/workflows/gradle-build.yml @@ -83,8 +83,8 @@ jobs: code-quality: name: Code Quality with Sonar - needs: check-changes - if: ${{ needs.check-changes.outputs.source-changes == 'true' }} + needs: [gradle-build, check-changes] + #if: ${{ needs.check-changes.outputs.source-changes == 'true' }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 @@ -102,14 +102,10 @@ jobs: build-scan-publish: true build-scan-terms-of-use-url: "https://gradle.com/terms-of-service" build-scan-terms-of-use-agree: "yes" - - name: Setup Testcontainers Cloud Client - uses: atomicjar/testcontainers-cloud-setup-action@v1 - with: - token: ${{ secrets.TC_CLOUD_TOKEN }} - name: Publish Sonar report env: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - run: ./gradlew check sonar + run: ./gradlew sonar - name: Terminate Testcontainers Cloud Client active sessions uses: atomicjar/testcontainers-cloud-setup-action@v1 with: From 1250a704dc6044d4193ee9eef11519b01175557d Mon Sep 17 00:00:00 2001 From: Rashidi Zin Date: Sat, 30 Aug 2025 12:41:03 +0800 Subject: [PATCH 2/6] Reuse gradle-build cache for Sonar --- .github/workflows/gradle-build.yml | 11 ++++++++++- build.gradle.kts | 1 - 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/gradle-build.yml b/.github/workflows/gradle-build.yml index bf33dca5..b69a898a 100644 --- a/.github/workflows/gradle-build.yml +++ b/.github/workflows/gradle-build.yml @@ -51,6 +51,8 @@ jobs: needs: check-changes if: ${{ needs.check-changes.outputs.build-changes == 'true' }} runs-on: ubuntu-latest + outputs: + build-artifacts: ${{ steps.upload-build-artifacts.outputs.artifact-id }} steps: - uses: actions/checkout@v5 with: @@ -80,6 +82,12 @@ jobs: uses: atomicjar/testcontainers-cloud-setup-action@v1 with: action: terminate + - name: Upload build artifacts + uses: actions/upload-artifact@v4 + id: upload-build-artifacts + with: + name: build-artifacts + path: '**/build/classes' code-quality: name: Code Quality with Sonar @@ -104,7 +112,8 @@ jobs: build-scan-terms-of-use-agree: "yes" - name: Publish Sonar report env: - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + SONAR_JAVA_BINARIES: ${{ needs.gradle-build.outputs.build-artifacts }} run: ./gradlew sonar - name: Terminate Testcontainers Cloud Client active sessions uses: atomicjar/testcontainers-cloud-setup-action@v1 diff --git a/build.gradle.kts b/build.gradle.kts index fe741b41..57f7c504 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -34,7 +34,6 @@ sonar { property("sonar.projectKey", "rashidi_spring-boot-tutorials") property("sonar.organization", "rashidi-github") property("sonar.host.url", "https://sonarcloud.io") - property("sonar.java.binaries", "**/build/classes") property("sonar.coverage.jacoco.xmlReportPaths", "${layout.buildDirectory.get()}/reports/jacoco/testCodeCoverageReport/testCodeCoverageReport.xml") } } From da930a3ed780f072bf9c092ae2f97e219adbf743 Mon Sep 17 00:00:00 2001 From: Rashidi Zin Date: Sat, 30 Aug 2025 12:50:26 +0800 Subject: [PATCH 3/6] Reuse gradle-build cache for Sonar --- .github/workflows/gradle-build.yml | 13 ++++++------- build.gradle.kts | 1 + 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/gradle-build.yml b/.github/workflows/gradle-build.yml index b69a898a..35b4f2ac 100644 --- a/.github/workflows/gradle-build.yml +++ b/.github/workflows/gradle-build.yml @@ -87,7 +87,7 @@ jobs: id: upload-build-artifacts with: name: build-artifacts - path: '**/build/classes' + path: '**/build/classes/' code-quality: name: Code Quality with Sonar @@ -110,12 +110,11 @@ jobs: build-scan-publish: true build-scan-terms-of-use-url: "https://gradle.com/terms-of-service" build-scan-terms-of-use-agree: "yes" + - name: Download build artifacts + uses: actions/download-artifact@v5 + with: + artifact-ids: ${{ needs.gradle-build.outputs.build-artifacts }} - name: Publish Sonar report env: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - SONAR_JAVA_BINARIES: ${{ needs.gradle-build.outputs.build-artifacts }} - run: ./gradlew sonar - - name: Terminate Testcontainers Cloud Client active sessions - uses: atomicjar/testcontainers-cloud-setup-action@v1 - with: - action: terminate + run: ./gradlew sonar \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 57f7c504..fe741b41 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -34,6 +34,7 @@ sonar { property("sonar.projectKey", "rashidi_spring-boot-tutorials") property("sonar.organization", "rashidi-github") property("sonar.host.url", "https://sonarcloud.io") + property("sonar.java.binaries", "**/build/classes") property("sonar.coverage.jacoco.xmlReportPaths", "${layout.buildDirectory.get()}/reports/jacoco/testCodeCoverageReport/testCodeCoverageReport.xml") } } From 8d0a5bd03e6078e9ac720388bfbf82031fd54a00 Mon Sep 17 00:00:00 2001 From: Rashidi Zin Date: Sat, 30 Aug 2025 12:55:28 +0800 Subject: [PATCH 4/6] Reuse gradle-build cache for Sonar --- .github/workflows/gradle-build.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/gradle-build.yml b/.github/workflows/gradle-build.yml index 35b4f2ac..17dfb2da 100644 --- a/.github/workflows/gradle-build.yml +++ b/.github/workflows/gradle-build.yml @@ -87,7 +87,9 @@ jobs: id: upload-build-artifacts with: name: build-artifacts - path: '**/build/classes/' + path: | + '**/build/classes/' + './build/reports/jacoco/testCodeCoverageReport/testCodeCoverageReport.xml' code-quality: name: Code Quality with Sonar From b206b4ed1e75df3267f094425560ca45fab07f61 Mon Sep 17 00:00:00 2001 From: Rashidi Zin Date: Sat, 30 Aug 2025 12:57:57 +0800 Subject: [PATCH 5/6] Reuse gradle-build cache for Sonar --- .github/workflows/gradle-build.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/gradle-build.yml b/.github/workflows/gradle-build.yml index 17dfb2da..d20c161d 100644 --- a/.github/workflows/gradle-build.yml +++ b/.github/workflows/gradle-build.yml @@ -87,9 +87,7 @@ jobs: id: upload-build-artifacts with: name: build-artifacts - path: | - '**/build/classes/' - './build/reports/jacoco/testCodeCoverageReport/testCodeCoverageReport.xml' + path: '**/build/' code-quality: name: Code Quality with Sonar From 209f80ece1bfcfcf0ec84c77b9644b9f38568f82 Mon Sep 17 00:00:00 2001 From: Rashidi Zin Date: Sat, 30 Aug 2025 13:04:19 +0800 Subject: [PATCH 6/6] Reuse gradle-build cache for Sonar --- .github/workflows/gradle-build.yml | 2 +- .../boot/data/mongodb/character/CharacterRepositoryTests.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/gradle-build.yml b/.github/workflows/gradle-build.yml index d20c161d..f8ab550d 100644 --- a/.github/workflows/gradle-build.yml +++ b/.github/workflows/gradle-build.yml @@ -92,7 +92,7 @@ jobs: code-quality: name: Code Quality with Sonar needs: [gradle-build, check-changes] - #if: ${{ needs.check-changes.outputs.source-changes == 'true' }} + if: ${{ needs.check-changes.outputs.source-changes == 'true' }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 diff --git a/data-mongodb-full-text-search/src/test/java/zin/rashidi/boot/data/mongodb/character/CharacterRepositoryTests.java b/data-mongodb-full-text-search/src/test/java/zin/rashidi/boot/data/mongodb/character/CharacterRepositoryTests.java index e1eb6b57..9ce38f34 100644 --- a/data-mongodb-full-text-search/src/test/java/zin/rashidi/boot/data/mongodb/character/CharacterRepositoryTests.java +++ b/data-mongodb-full-text-search/src/test/java/zin/rashidi/boot/data/mongodb/character/CharacterRepositoryTests.java @@ -28,7 +28,7 @@ class CharacterRepositoryTests { @Container @ServiceConnection - private final static MongoDBContainer mongo = new MongoDBContainer("mongo:latest"); + private static final MongoDBContainer mongo = new MongoDBContainer("mongo:latest"); @Autowired private MongoOperations operations;