Skip to content

Commit ecd90a8

Browse files
authored
Give the operator its own sonar project. (kroxylicious#3132)
* Give the operator its own sonar project. This means the results from parallel builds don't clobber each other. Signed-off-by: Sam Barker <sam@quadrocket.co.uk> # Conflicts: # .github/workflows/operator-maven.yaml * fix project key when building on main Signed-off-by: Sam Barker <sam@quadrocket.co.uk> --------- Signed-off-by: Sam Barker <sam@quadrocket.co.uk>
1 parent 76c63cb commit ecd90a8

2 files changed

Lines changed: 24 additions & 7 deletions

File tree

.github/workflows/operator-maven.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,12 +86,12 @@ jobs:
8686
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
8787
run: |
8888
mvn -B install -Pci -Djapicmp.skip=true -pl ':kroxylicious-operator' -am
89-
- name: 'Build Kroxylicious maven project on main with Sonar'
89+
- name: 'SonarCloud scan on main for the Operator'
9090
if: github.event_name == 'push' && github.ref_name == 'main' && env.SONAR_TOKEN_SET == 'true'
9191
env:
9292
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
9393
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
94-
run: mvn -B verify -Pci -Djapicmp.skip=true org.sonarsource.scanner.maven:sonar-maven-plugin:5.0.0.4389:sonar -Dsonar.projectKey=kroxylicious_kroxylicious -pl ':kroxylicious-operator,:kroxylicious-parent'
94+
run: mvn -B verify -Pci -Djapicmp.skip=true org.sonarsource.scanner.maven:sonar-maven-plugin:5.0.0.4389:sonar -Dsonar.projectKey=kroxylicious_operator -pl ':kroxylicious-operator,:kroxylicious-parent'
9595
- name: Save PR number to file
9696
if: github.event_name == 'pull_request'
9797
run: echo ${{ github.event.number }} > PR_NUMBER.txt

.github/workflows/sonar.yaml

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,11 @@ jobs:
1414
runs-on: ubuntu-latest
1515
if: github.event.workflow_run && github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.event == 'pull_request'
1616
steps:
17-
- name: echo event
18-
run: cat $GITHUB_EVENT_PATH
17+
- name: 'Test for Sonar secret'
18+
env:
19+
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
20+
run: |
21+
echo "SONAR_TOKEN_SET=$(test ${SONAR_TOKEN} && echo true)" >> $GITHUB_ENV
1922
- name: Download PR number artifact
2023
uses: dawidd6/action-download-artifact@0bd50d53a6d7fb5cb921e607957e9cc12b4ce392
2124
with:
@@ -37,9 +40,11 @@ jobs:
3740
env:
3841
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3942
- uses: actions/checkout@v6
43+
env:
44+
HEAD_BRANCH: ${{ github.event.workflow_run.head_branch }}
4045
with:
4146
repository: ${{ github.event.workflow_run.head_repository.full_name }}
42-
ref: ${{ github.event.workflow_run.head_branch }}
47+
ref: ${HEAD_BRANCH}
4348
fetch-depth: 0
4449
- name: Checkout base branch
4550
env:
@@ -63,8 +68,20 @@ jobs:
6368
path: ~/.m2
6469
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
6570
restore-keys: ${{ runner.os }}-m2
66-
- name: SonarCloud Scan on PR
67-
run: mvn -B clean verify -Pci -DskipITs=true org.sonarsource.scanner.maven:sonar-maven-plugin:5.5.0.6356:sonar -Djapicmp.skip=true -Dsonar.projectKey=kroxylicious_kroxylicious -Dsonar.scm.revision=${{ github.event.workflow_run.head_sha }} -Dsonar.pullrequest.key=${{ fromJson(steps.get_pr_data.outputs.data).number }} -Dsonar.pullrequest.branch=${{ fromJson(steps.get_pr_data.outputs.data).head.ref }} -Dsonar.pullrequest.base=${{ fromJson(steps.get_pr_data.outputs.data).base.ref }}
71+
- name: Cache SonarCloud packages
72+
uses: actions/cache@v5
73+
if: github.ref_name == 'main' || env.SONAR_TOKEN_SET == 'true'
74+
with:
75+
path: ~/.sonar/cache
76+
key: ${{ runner.os }}-sonar
77+
restore-keys: ${{ runner.os }}-sonar
78+
- name: SonarCloud scan on PR for the Proxy Runtime
79+
run: mvn -B clean verify -Pci -DskipITs=true org.sonarsource.scanner.maven:sonar-maven-plugin:5.5.0.6356:sonar -Djapicmp.skip=true -Dsonar.projectKey=kroxylicious_kroxylicious -Dsonar.scm.revision=${{ github.event.workflow_run.head_sha }} -Dsonar.pullrequest.key=${{ fromJson(steps.get_pr_data.outputs.data).number }} -Dsonar.pullrequest.branch=${{ fromJson(steps.get_pr_data.outputs.data).head.ref }} -Dsonar.pullrequest.base=${{ fromJson(steps.get_pr_data.outputs.data).base.ref }} -pl ''!:kroxylicious-operator''
80+
env:
81+
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
82+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
83+
- name: SonarCloud scan on PR for the Operator
84+
run: mvn -B clean verify -Pci -DskipITs=true org.sonarsource.scanner.maven:sonar-maven-plugin:5.5.0.6356:sonar -Djapicmp.skip=true -Dsonar.projectKey=kroxylicious_operator -Dsonar.scm.revision=${{ github.event.workflow_run.head_sha }} -Dsonar.pullrequest.key=${{ fromJson(steps.get_pr_data.outputs.data).number }} -Dsonar.pullrequest.branch=${{ fromJson(steps.get_pr_data.outputs.data).head.ref }} -Dsonar.pullrequest.base=${{ fromJson(steps.get_pr_data.outputs.data).base.ref }} -pl ':kroxylicious-operator,:kroxylicious-parent'
6885
env:
6986
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
7087
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)