diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index caa6fbe848..643c75b7bb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -77,15 +77,21 @@ jobs: fetch-depth: 0 - name: Set up JDK - uses : actions/setup-java@v2 - with : - distribution : 'adopt' - java-version : '11' + uses: actions/setup-java@v2 + with: + distribution: 'adopt' + java-version: '11' cache: 'gradle' - name: detekt run: ./gradlew detekt --no-daemon + - name: Upload SARIF to Github using the upload-sarif action + uses: github/codeql-action/upload-sarif@v1 + if: success() || failure() + with: + sarif_file: build/reports/detekt/merged.sarif + ktlint: runs-on: ubuntu-latest diff --git a/build-logic/mcbuild/src/main/kotlin/mcbuild.detekt.gradle.kts b/build-logic/mcbuild/src/main/kotlin/mcbuild.detekt.gradle.kts index 099dd4c4cf..10b5887bd6 100644 --- a/build-logic/mcbuild/src/main/kotlin/mcbuild.detekt.gradle.kts +++ b/build-logic/mcbuild/src/main/kotlin/mcbuild.detekt.gradle.kts @@ -14,11 +14,16 @@ */ import io.gitlab.arturbosch.detekt.Detekt +import io.gitlab.arturbosch.detekt.report.ReportMergeTask plugins { id("io.gitlab.arturbosch.detekt") } +val reportMerge by tasks.registering(ReportMergeTask::class) { + output.set(rootProject.buildDir.resolve("reports/detekt/merged.sarif")) +} + detekt { parallel = true @@ -26,12 +31,19 @@ detekt { buildUponDefaultConfig = true } -tasks.withType { +tasks.withType detekt@{ + + finalizedBy(reportMerge) + + reportMerge.configure { + input.from(this@detekt.sarifReportFile) + } reports { xml.required.set(true) html.required.set(true) txt.required.set(false) + sarif.required.set(true) } setSource(files(projectDir))