From fa29a9bb67b76e0d572a5d0172746c2aa70009ee Mon Sep 17 00:00:00 2001 From: Michiel Oliemans Date: Fri, 18 Dec 2020 17:00:48 +0100 Subject: [PATCH 1/6] Include Sonar analysis on PRs --- .github/workflows/pull-request.yml | 28 ++++++++++++++++++++++++++++ build.gradle | 9 +++++++++ 2 files changed, 37 insertions(+) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 02eeb7cc..777a74e6 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -49,3 +49,31 @@ jobs: if: matrix.os == 'windows-latest' shell: cmd run: gradlew --info check + build: + name: Sonar analysis + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis + - name: Set up JDK 11 + uses: actions/setup-java@v1 + with: + java-version: 11 + - name: Cache SonarCloud packages + uses: actions/cache@v1 + with: + path: ~/.sonar/cache + key: ${{ runner.os }}-sonar + restore-keys: ${{ runner.os }}-sonar + - name: Cache Gradle packages + uses: actions/cache@v1 + with: + path: ~/.gradle/caches + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} + restore-keys: ${{ runner.os }}-gradle + - name: Build and analyze + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + run: ./gradlew build sonarqube --info diff --git a/build.gradle b/build.gradle index 9f961355..5539b3a2 100644 --- a/build.gradle +++ b/build.gradle @@ -37,6 +37,15 @@ plugins { id 'io.franzbecker.gradle-lombok' version '3.2.0' apply false id "com.jfrog.artifactory" version "4.11.0" apply false id "biz.aQute.bnd.builder" version "5.1.2" apply false + id "org.sonarqube" version "3.0" +} + +sonarqube { + properties { + property "sonar.projectKey", "graphql-java-kickstart_graphql-java-servlet" + property "sonar.organization", "graphql-java-kickstart" + property "sonar.host.url", "https://sonarcloud.io" + } } subprojects { From 4ec38fd0107c06ce558de018feb40c2b22e80156 Mon Sep 17 00:00:00 2001 From: Michiel Oliemans Date: Fri, 18 Dec 2020 17:07:54 +0100 Subject: [PATCH 2/6] Update Sonar configuration --- .github/workflows/pull-request.yml | 1 + build.gradle | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 777a74e6..6fcc6e1e 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -51,6 +51,7 @@ jobs: run: gradlew --info check build: name: Sonar analysis + needs: validation runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 diff --git a/build.gradle b/build.gradle index 5539b3a2..79026db1 100644 --- a/build.gradle +++ b/build.gradle @@ -38,6 +38,7 @@ plugins { id "com.jfrog.artifactory" version "4.11.0" apply false id "biz.aQute.bnd.builder" version "5.1.2" apply false id "org.sonarqube" version "3.0" + id "jacoco" } sonarqube { @@ -45,11 +46,13 @@ sonarqube { property "sonar.projectKey", "graphql-java-kickstart_graphql-java-servlet" property "sonar.organization", "graphql-java-kickstart" property "sonar.host.url", "https://sonarcloud.io" + property "sonar.coverage.jacoco.xmlReportPaths", "$projectDir/*/build/reports/jacoco/test/jacocoTestReport.xml" } } subprojects { apply plugin: 'idea' + apply plugin: 'jacoco' apply plugin: 'java' apply plugin: 'maven-publish' apply plugin: "com.jfrog.bintray" @@ -84,6 +87,13 @@ subprojects { sha256 = "" } + jacocoTestReport { + reports { + xml.enabled = true + html.enabled = false + csv.enabled = false + } + } if (!it.name.startsWith('example')) { From cd1a9ec1a797fdf19b0cd74d9b40f8852a71a6fe Mon Sep 17 00:00:00 2001 From: Michiel Oliemans Date: Fri, 18 Dec 2020 17:39:11 +0100 Subject: [PATCH 3/6] Update Sonar configuration --- .github/workflows/pull-request.yml | 2 +- .github/workflows/snapshot.yml | 29 +++++++++++++++++++++++++++++ build.gradle | 2 +- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 6fcc6e1e..fb25a261 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -4,7 +4,7 @@ on: branches-ignore: - master pull_request: - + types: [opened, synchronize, reopened] jobs: validation: name: Gradle Wrapper Validation diff --git a/.github/workflows/snapshot.yml b/.github/workflows/snapshot.yml index 64eb3090..b54bfaeb 100644 --- a/.github/workflows/snapshot.yml +++ b/.github/workflows/snapshot.yml @@ -66,3 +66,32 @@ jobs: BINTRAY_USER: ${{ secrets.BINTRAY_USER }} BINTRAY_PASS: ${{ secrets.BINTRAY_PASSWORD }} run: ./gradlew artifactoryPublish -Dsnapshot=true -Dbuild.number=${{ env.GITHUB_RUN_NUMBER }} + sonar: + name: Sonar analysis + needs: validation + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis + - name: Set up JDK 11 + uses: actions/setup-java@v1 + with: + java-version: 11 + - name: Cache SonarCloud packages + uses: actions/cache@v1 + with: + path: ~/.sonar/cache + key: ${{ runner.os }}-sonar + restore-keys: ${{ runner.os }}-sonar + - name: Cache Gradle packages + uses: actions/cache@v1 + with: + path: ~/.gradle/caches + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} + restore-keys: ${{ runner.os }}-gradle + - name: Build and analyze + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + run: ./gradlew build sonarqube --info diff --git a/build.gradle b/build.gradle index 79026db1..2ef4d4df 100644 --- a/build.gradle +++ b/build.gradle @@ -46,7 +46,7 @@ sonarqube { property "sonar.projectKey", "graphql-java-kickstart_graphql-java-servlet" property "sonar.organization", "graphql-java-kickstart" property "sonar.host.url", "https://sonarcloud.io" - property "sonar.coverage.jacoco.xmlReportPaths", "$projectDir/*/build/reports/jacoco/test/jacocoTestReport.xml" + property "sonar.coverage.jacoco.xmlReportPaths", "build/reports/jacoco/test/jacocoTestReport.xml" } } From a728a149c045d271d634f14458a056da2178a84a Mon Sep 17 00:00:00 2001 From: Michiel Oliemans Date: Fri, 18 Dec 2020 17:45:08 +0100 Subject: [PATCH 4/6] Update Sonar configuration --- build.gradle | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 2ef4d4df..3f0b224c 100644 --- a/build.gradle +++ b/build.gradle @@ -46,7 +46,6 @@ sonarqube { property "sonar.projectKey", "graphql-java-kickstart_graphql-java-servlet" property "sonar.organization", "graphql-java-kickstart" property "sonar.host.url", "https://sonarcloud.io" - property "sonar.coverage.jacoco.xmlReportPaths", "build/reports/jacoco/test/jacocoTestReport.xml" } } @@ -95,6 +94,12 @@ subprojects { } } + sonarqube { + properties { + property "sonar.coverage.jacoco.xmlReportPaths", "build/reports/jacoco/test/jacocoTestReport.xml" + } + } + if (!it.name.startsWith('example')) { jar { From 4636ec9169698f6ead4e958289c2f39116982bb2 Mon Sep 17 00:00:00 2001 From: Michiel Oliemans Date: Fri, 18 Dec 2020 17:51:58 +0100 Subject: [PATCH 5/6] Update Sonar configuration --- build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/build.gradle b/build.gradle index 3f0b224c..cb0fd08e 100644 --- a/build.gradle +++ b/build.gradle @@ -52,6 +52,7 @@ sonarqube { subprojects { apply plugin: 'idea' apply plugin: 'jacoco' + apply plugin: 'org.sonarqube' apply plugin: 'java' apply plugin: 'maven-publish' apply plugin: "com.jfrog.bintray" From a5c0f1ba38416cb164632e6b2fae86b3152d9bca Mon Sep 17 00:00:00 2001 From: Michiel Oliemans Date: Fri, 18 Dec 2020 17:57:28 +0100 Subject: [PATCH 6/6] Update Sonar configuration --- .github/workflows/pull-request.yml | 2 +- .github/workflows/snapshot.yml | 2 +- build.gradle | 6 ------ 3 files changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index fb25a261..e3a5d868 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -77,4 +77,4 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - run: ./gradlew build sonarqube --info + run: ./gradlew build jacocoTestReport sonarqube --info diff --git a/.github/workflows/snapshot.yml b/.github/workflows/snapshot.yml index b54bfaeb..d758ef4c 100644 --- a/.github/workflows/snapshot.yml +++ b/.github/workflows/snapshot.yml @@ -94,4 +94,4 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - run: ./gradlew build sonarqube --info + run: ./gradlew build jacocoTestReport sonarqube --info diff --git a/build.gradle b/build.gradle index cb0fd08e..7cc8695b 100644 --- a/build.gradle +++ b/build.gradle @@ -95,12 +95,6 @@ subprojects { } } - sonarqube { - properties { - property "sonar.coverage.jacoco.xmlReportPaths", "build/reports/jacoco/test/jacocoTestReport.xml" - } - } - if (!it.name.startsWith('example')) { jar {