diff --git a/.github/workflows/build-and-test.yaml b/.github/workflows/build-and-test.yaml index d4a4b684..dee372bf 100644 --- a/.github/workflows/build-and-test.yaml +++ b/.github/workflows/build-and-test.yaml @@ -11,9 +11,9 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up JDK - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' @@ -37,17 +37,17 @@ jobs: --health-retries 5 ports: [ "5432:5432" ] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up JDK - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' cache: 'gradle' - name: Run tests - run: ./gradlew test --scan + run: ./gradlew test --scan jacocoTestReport # Run the Sonar scan after `gradle test` to include code coverage data in its report. - name: Sonar scan diff --git a/README.md b/README.md index 9b562b1c..4eb7adc4 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=DataBiosphere_stairway&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=DataBiosphere_stairway) +[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=DataBiosphere_stairway&metric=coverage)](https://sonarcloud.io/summary/new_code?id=DataBiosphere_stairway) + # Stairway Stairway is a library that provides a framework for running _saga transactions_. Saga transactions, introduced by Hector Garcia-Molina in 1987, use _compensating operations_ to diff --git a/buildSrc/src/main/groovy/stairway.java-conventions.gradle b/buildSrc/src/main/groovy/stairway.java-conventions.gradle index f327a986..c41eb5d2 100644 --- a/buildSrc/src/main/groovy/stairway.java-conventions.gradle +++ b/buildSrc/src/main/groovy/stairway.java-conventions.gradle @@ -1,6 +1,7 @@ // Java conventions common for all of the code plugins { id 'idea' + id 'jacoco' id 'java' id 'java-library' id 'com.diffplug.spotless' @@ -54,3 +55,10 @@ if (hasProperty("buildScan")) { termsOfServiceAgree = "yes" } } + +jacocoTestReport { + reports { + // sonar requires XML coverage output to upload coverage data + xml.required = true + } +} diff --git a/settings.gradle b/settings.gradle index 3215aa04..0b768ddb 100644 --- a/settings.gradle +++ b/settings.gradle @@ -4,6 +4,6 @@ include 'stairway-gcp' include 'stairctl' include 'stairway-azure' -gradle.ext.version = "1.1.8-SNAPSHOT" +gradle.ext.version = "1.1.9-SNAPSHOT"