| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- name: SonarCloud Scan (PRs triggered by maven.yml)
- on:
- workflow_run:
- workflows:
- - Build
- types:
- - completed
- # Allows you to run this workflow manually from the Actions tab
- workflow_dispatch:
- jobs:
- get-info:
- name: "Get information about the source run"
- runs-on: ubuntu-latest
- if: ${{ github.actor != 'dependabot[bot]' && github.event.workflow_run.conclusion == 'success' }}
- outputs:
- sourceHeadRepo: ${{ steps.source-run-info.outputs.sourceHeadRepo }}
- sourceHeadBranch: ${{ steps.source-run-info.outputs.sourceHeadBranch }}
- sourceHeadSha: ${{ steps.source-run-info.outputs.sourceHeadSha }}
- mergeCommitSha: ${{ steps.source-run-info.outputs.mergeCommitSha }}
- targetCommitSha: ${{ steps.source-run-info.outputs.targetCommitSha }}
- pullRequestNumber: ${{ steps.source-run-info.outputs.pullRequestNumber }}
- pullRequestLabels: ${{ steps.source-run-info.outputs.pullRequestLabels }}
- targetBranch: ${{ steps.source-run-info.outputs.targetBranch }}
- sourceEvent: ${{ steps.source-run-info.outputs.sourceEvent }}
- steps:
- - name: "Get information about the origin 'CI' run"
- uses: potiuk/get-workflow-origin@v1_3
- id: source-run-info
- with:
- token: ${{ secrets.GITHUB_TOKEN }}
- sourceRunId: ${{ github.event.workflow_run.id }}
- sonar:
- name: SonarCloud Scan
- runs-on: ubuntu-latest
- if: ${{ needs.get-info.outputs.sourceEvent == 'pull_request' && github.actor != 'dependabot[bot]' && github.event.workflow_run.conclusion == 'success' }}
- needs: get-info
- steps:
- - uses: actions/checkout@v3
- with:
- repository: ${{ github.event.workflow_run.head_repository.full_name }}
- ref: ${{ github.event.workflow_run.head_branch }}
- fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- - name: Set up JDK
- uses: actions/setup-java@v3
- with:
- distribution: 'temurin'
- java-version: 17
- - name: Cache SonarCloud packages
- uses: actions/cache@v3
- with:
- path: ~/.sonar/cache
- key: ${{ runner.os }}-sonar
- restore-keys: ${{ runner.os }}-sonar
- - name: Cache Maven packages
- uses: actions/cache@v3
- with:
- path: ~/.m2
- key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
- restore-keys: ${{ runner.os }}-m2
-
- - name: Build and analyze (PR)
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
- run: >
- mvn
- -Dsonar.scm.revision=${{ github.event.workflow_run.head_sha }}
- -Dsonar.pullrequest.key=${{ needs.get-info.outputs.pullRequestNumber }}
- -Dsonar.pullrequest.branch=${{ needs.get-info.outputs.sourceHeadBranch }}
- -Dsonar.pullrequest.base=${{ needs.get-info.outputs.pullRequestNumber }}
- -U -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar
|