Skip to content

Commit 7d02048

Browse files
authored
wrangling sonar (kroxylicious#3135)
* caches are branch scoped so we don't need to limit it to main See https://github.com/marketplace/actions/cache#cache-scopes Signed-off-by: Sam Barker <sam@quadrocket.co.uk> * Try a different syntax for reffering to env var Signed-off-by: Sam Barker <sam@quadrocket.co.uk> * Set project name when running the job Signed-off-by: Sam Barker <sam@quadrocket.co.uk> * only run sonar actions if sonar token available. Signed-off-by: Sam Barker <sam@quadrocket.co.uk> * Move sonar properties into pom Signed-off-by: Sam Barker <sam@quadrocket.co.uk> * Ensure renovate scans all workflows for sonar versions. Signed-off-by: Sam Barker <sam@quadrocket.co.uk> --------- Signed-off-by: Sam Barker <sam@quadrocket.co.uk>
1 parent a9a247c commit 7d02048

6 files changed

Lines changed: 32 additions & 16 deletions

File tree

.github/renovate.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,8 @@
122122
{
123123
"customType": "regex",
124124
"fileMatch": [
125-
".github/workflows/maven.yaml",
126-
".github/workflows/sonar.yaml"],
125+
".github/workflows/*.yaml"
126+
],
127127
"matchStrings": [
128128
"(?<depName>org.sonarsource.scanner.maven:sonar-maven-plugin):(?<currentValue>\\d+\\.\\d+\\.\\d+\\.\\d+)"
129129
],

.github/workflows/maven.yaml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,6 @@ jobs:
6464
run: |
6565
REFERENCE_RELEASE=$(mvn --quiet -pl kroxylicious-api help:evaluate -Dexpression=ApiCompatability.ReferenceVersion -DforceStdout)
6666
echo "REFERENCE_RELEASE_UNPUBLISHED=$(mvn --quiet dependency:get -Dartifact=io.kroxylicious:kroxylicious-parent:${REFERENCE_RELEASE}:pom 1>/dev/null && echo false || echo true)" >> $GITHUB_ENV
67-
- name: Cache SonarCloud packages
68-
uses: actions/cache@v5
69-
if: github.ref_name == 'main' || env.SONAR_TOKEN_SET == 'true'
70-
with:
71-
path: ~/.sonar/cache
72-
key: ${{ runner.os }}-sonar
73-
restore-keys: ${{ runner.os }}-sonar
7467
- name: 'Cache Maven packages'
7568
uses: actions/cache@v5
7669
with:
@@ -89,6 +82,13 @@ jobs:
8982
# KROXYLICIOUS_IMAGE env var is used by the Operator ITs
9083
echo "KROXYLICIOUS_IMAGE=${KROXYLICIOUS_IMAGE}" >> "$GITHUB_ENV"
9184
mvn -B install -DskipITs -Pci -Djapicmp.skip=${REFERENCE_RELEASE_UNPUBLISHED}
85+
- name: Cache SonarCloud packages
86+
uses: actions/cache@v5
87+
if: github.ref_name == 'main' || env.SONAR_TOKEN_SET == 'true'
88+
with:
89+
path: ~/.sonar/cache
90+
key: ${{ runner.os }}-sonar
91+
restore-keys: ${{ runner.os }}-sonar
9292
- name: 'Build Kroxylicious maven project on main with Sonar'
9393
if: github.event_name == 'push' && github.ref_name == 'main' && env.SONAR_TOKEN_SET == 'true'
9494
env:
@@ -97,4 +97,4 @@ jobs:
9797
KROXYLICIOUS_KMS_FORTANIX_API_ENDPOINT: ${{ vars.KROXYLICIOUS_KMS_FORTANIX_API_ENDPOINT }}
9898
KROXYLICIOUS_KMS_FORTANIX_ADMIN_API_KEY: ${{ secrets.KROXYLICIOUS_KMS_FORTANIX_ADMIN_API_KEY }}
9999
KROXYLICIOUS_KMS_FORTANIX_API_KEY: ${{ secrets.KROXYLICIOUS_KMS_FORTANIX_API_KEY }}
100-
run: mvn -B verify -Pci -Djapicmp.skip=${REFERENCE_RELEASE_UNPUBLISHED} org.sonarsource.scanner.maven:sonar-maven-plugin:5.5.0.6356:sonar -Dsonar.projectKey=kroxylicious_kroxylicious -pl ''!:kroxylicious-operator''
100+
run: mvn -B verify -Pci -Djapicmp.skip=${REFERENCE_RELEASE_UNPUBLISHED} org.sonarsource.scanner.maven:sonar-maven-plugin:5.5.0.6356:sonar -pl ''!:kroxylicious-operator''

.github/workflows/operator-maven.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ jobs:
7676
minikube image ls | grep --fixed-strings ${KROXYLICIOUS_IMAGE}
7777
- name: Cache SonarCloud packages
7878
uses: actions/cache@v5
79-
if: github.ref_name == 'main' || env.SONAR_TOKEN_SET == 'true'
79+
if: github.ref_name == 'main' && env.SONAR_TOKEN_SET == 'true'
8080
with:
8181
path: ~/.sonar/cache
8282
key: ${{ runner.os }}-sonar
@@ -91,7 +91,7 @@ jobs:
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_operator -pl ':kroxylicious-operator,:kroxylicious-parent'
94+
run: mvn -B verify -Pci -Djapicmp.skip=true org.sonarsource.scanner.maven:sonar-maven-plugin:5.5.0.6356:sonar -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: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,20 @@ jobs:
2121
echo "SONAR_TOKEN_SET=$(test ${SONAR_TOKEN} && echo true)" >> $GITHUB_ENV
2222
- name: Download PR number artifact
2323
uses: dawidd6/action-download-artifact@0bd50d53a6d7fb5cb921e607957e9cc12b4ce392
24+
if: env.SONAR_TOKEN_SET == 'true'
2425
with:
2526
workflow: Build
2627
run_id: ${{ github.event.workflow_run.id }}
2728
name: PR_NUMBER
2829
- name: Read PR_NUMBER.txt
2930
id: pr_number
3031
uses: juliangruber/read-file-action@b549046febe0fe86f8cb4f93c24e284433f9ab58
32+
if: env.SONAR_TOKEN_SET == 'true'
3133
with:
3234
path: ./PR_NUMBER.txt
3335
- name: Request GitHub API for PR data
3436
uses: octokit/request-action@05a2312de9f8207044c4c9e41fe19703986acc13
37+
if: env.SONAR_TOKEN_SET == 'true'
3538
id: get_pr_data
3639
with:
3740
route: GET /repos/{full_name}/pulls/{number}
@@ -40,11 +43,15 @@ jobs:
4043
env:
4144
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4245
- uses: actions/checkout@v6
46+
if: env.SONAR_TOKEN_SET == 'true'
4347
with:
4448
repository: ${{ github.event.workflow_run.head_repository.full_name }}
45-
ref: ${{ github.event.workflow_run.head_branch }}
49+
ref: $HEAD_REF
4650
fetch-depth: 0
51+
env:
52+
HEAD_REF: ${{ github.event.workflow_run.head_branch }}
4753
- name: Checkout base branch
54+
if: env.SONAR_TOKEN_SET == 'true'
4855
env:
4956
HEAD_BRANCH: ${{ github.event.workflow_run.head_branch }}
5057
run: |
@@ -55,31 +62,36 @@ jobs:
5562
git clean -ffdx && git reset --hard HEAD
5663
- name: Set up QEMU
5764
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130
65+
if: env.SONAR_TOKEN_SET == 'true'
5866
- name: Set up JDK 21
5967
uses: actions/setup-java@v5
68+
if: env.SONAR_TOKEN_SET == 'true'
6069
with:
6170
java-version: 21
6271
distribution: 'temurin'
6372
- name: 'Cache Maven packages'
6473
uses: actions/cache/restore@v5
74+
if: env.SONAR_TOKEN_SET == 'true'
6575
with:
6676
path: ~/.m2
6777
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
6878
restore-keys: ${{ runner.os }}-m2
6979
- name: Cache SonarCloud packages
7080
uses: actions/cache@v5
71-
if: github.ref_name == 'main' || env.SONAR_TOKEN_SET == 'true'
81+
if: env.SONAR_TOKEN_SET == 'true'
7282
with:
7383
path: ~/.sonar/cache
7484
key: ${{ runner.os }}-sonar
7585
restore-keys: ${{ runner.os }}-sonar
7686
- name: SonarCloud scan on PR for the Proxy Runtime
77-
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''
87+
if: env.SONAR_TOKEN_SET == 'true'
88+
run: mvn -B clean verify -Pci -DskipITs=true org.sonarsource.scanner.maven:sonar-maven-plugin:5.5.0.6356:sonar -Djapicmp.skip=true -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''
7889
env:
7990
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
8091
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
8192
- name: SonarCloud scan on PR for the Operator
82-
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'
93+
if: env.SONAR_TOKEN_SET == 'true'
94+
run: mvn -B clean verify -Pci -DskipITs=true org.sonarsource.scanner.maven:sonar-maven-plugin:5.5.0.6356:sonar -Djapicmp.skip=true -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'
8395
env:
8496
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
8597
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

kroxylicious-operator/pom.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
<prometheus-metrics.version>1.4.3</prometheus-metrics.version>
2626
<io.kroxylicious.operator.image.name>quay.io/kroxylicious/operator:${project.version}</io.kroxylicious.operator.image.name>
2727
<io.kroxylicious.operator.image.archive>target/kroxylicious-operator.img.tar.gz</io.kroxylicious.operator.image.archive>
28+
<sonar.projectName>Kroxylicious Operator</sonar.projectName>
29+
<sonar.projectkey>kroxylicious_kroxylicious</sonar.projectkey>
2830
</properties>
2931

3032
<dependencyManagement>

pom.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1258,6 +1258,8 @@
12581258
<properties>
12591259
<sonar.organization>kroxylicious</sonar.organization>
12601260
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
1261+
<sonar.projectName>Proxy Runtime</sonar.projectName>
1262+
<sonar.projectKey>kroxylicious_kroxylicious</sonar.projectKey>
12611263
<impsort-maven-plugin.goal>check</impsort-maven-plugin.goal>
12621264
<skip-validate-yaml-snippets>false</skip-validate-yaml-snippets>
12631265
</properties>

0 commit comments

Comments
 (0)