From 31ff202d5b185fbeaef9542e4d6b06834439fee2 Mon Sep 17 00:00:00 2001
From: Clemi2806 <38780028+Clemi2806@users.noreply.github.com>
Date: Sun, 19 Jan 2025 00:06:33 +0100
Subject: [PATCH 1/6] ci: Create sonarqube.yml
---
.github/workflows/sonarqube.yml | 66 +++++++++++++++++++++++++++++++++
1 file changed, 66 insertions(+)
create mode 100644 .github/workflows/sonarqube.yml
diff --git a/.github/workflows/sonarqube.yml b/.github/workflows/sonarqube.yml
new file mode 100644
index 0000000..5c5d358
--- /dev/null
+++ b/.github/workflows/sonarqube.yml
@@ -0,0 +1,66 @@
+# This workflow uses actions that are not certified by GitHub.
+# They are provided by a third-party and are governed by
+# separate terms of service, privacy policy, and support
+# documentation.
+
+# This workflow helps you trigger a SonarQube analysis of your code and populates
+# GitHub Code Scanning alerts with the vulnerabilities found.
+# (this feature is available starting from SonarQube 9.7, Developer Edition and above)
+
+# 1. Make sure you add a valid GitHub configuration to your SonarQube (Administration > DevOps platforms > GitHub)
+
+# 2. Import your project on SonarQube
+# * Add your repository as a new project by clicking "Create project" from your homepage.
+#
+# 3. Select GitHub Actions as your CI and follow the tutorial
+# * a. Generate a new token and add it to your GitHub repository's secrets using the name SONAR_TOKEN
+# (On SonarQube, click on your avatar on top-right > My account > Security or ask your administrator)
+#
+# * b. Copy/paste your SonarQube host URL to your GitHub repository's secrets using the name SONAR_HOST_URL
+#
+# * c. Copy/paste the project Key into the args parameter below
+# (You'll find this information in SonarQube by following the tutorial or by clicking on Project Information at the top-right of your project's homepage)
+
+# Feel free to take a look at our documentation (https://docs.sonarqube.org/latest/analysis/github-integration/)
+# or reach out to our community forum if you need some help (https://community.sonarsource.com/c/sq/10)
+
+name: SonarQube analysis
+
+on:
+ push:
+ branches: [ "main" ]
+ pull_request:
+ branches: [ "main" ]
+ workflow_dispatch:
+
+permissions:
+ pull-requests: read # allows SonarQube to decorate PRs with analysis results
+
+jobs:
+ Analysis:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Analyze with SonarQube
+
+ # You can pin the exact commit or the version.
+ # uses: SonarSource/sonarqube-scan-action@v1.1.0
+ uses: SonarSource/sonarqube-scan-action@7295e71c9583053f5bf40e9d4068a0c974603ec8
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information
+ SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} # Generate a token on SonarQube, add it to the secrets of this repo with the name SONAR_TOKEN (Settings > Secrets > Actions > add new repository secret)
+ SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }} # add the URL of your instance to the secrets of this repo with the name SONAR_HOST_URL (Settings > Secrets > Actions > add new repository secret)
+ with:
+ # Additional arguments for the sonarcloud scanner
+ args:
+ # Unique key of your project. You can find it in SonarQube > [my project] > Project Information (top-right menu)
+ # mandatory
+ -Dsonar.projectKey=Kilowatt-Commando_controller-service
+ # Comma-separated paths to directories containing main source files.
+ #-Dsonar.sources= # optional, default is project base directory
+ # When you need the analysis to take place in a directory other than the one from which it was launched
+ #-Dsonar.projectBaseDir= # optional, default is .
+ # Comma-separated paths to directories containing test source files.
+ #-Dsonar.tests= # optional. For more info about Code Coverage, please refer to https://docs.sonarcloud.io/enriching/test-coverage/overview/
+ # Adds more detail to both client and server-side analysis logs, activating DEBUG mode for the scanner, and adding client-side environment variables and system properties to the server-side log of analysis report processing.
+ #-Dsonar.verbose= # optional, default is false
From c3ebd986436a062b35bca44cb7012c9b55908470 Mon Sep 17 00:00:00 2001
From: Clemi2806 <38780028+Clemi2806@users.noreply.github.com>
Date: Sun, 19 Jan 2025 00:09:44 +0100
Subject: [PATCH 2/6] ci: Change version of sonarqube action
---
.github/workflows/sonarqube.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/sonarqube.yml b/.github/workflows/sonarqube.yml
index 5c5d358..178c56a 100644
--- a/.github/workflows/sonarqube.yml
+++ b/.github/workflows/sonarqube.yml
@@ -45,7 +45,7 @@ jobs:
# You can pin the exact commit or the version.
# uses: SonarSource/sonarqube-scan-action@v1.1.0
- uses: SonarSource/sonarqube-scan-action@7295e71c9583053f5bf40e9d4068a0c974603ec8
+ uses: SonarSource/sonarqube-scan-action@v4
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} # Generate a token on SonarQube, add it to the secrets of this repo with the name SONAR_TOKEN (Settings > Secrets > Actions > add new repository secret)
From bf845d523932f97f3915a5dd1e3b2c6386c3d7fd Mon Sep 17 00:00:00 2001
From: Clemi2806 <38780028+Clemi2806@users.noreply.github.com>
Date: Sun, 19 Jan 2025 00:18:37 +0100
Subject: [PATCH 3/6] ci: Add sonar.organization key
---
.github/workflows/sonarqube.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/sonarqube.yml b/.github/workflows/sonarqube.yml
index 178c56a..28fc12e 100644
--- a/.github/workflows/sonarqube.yml
+++ b/.github/workflows/sonarqube.yml
@@ -56,6 +56,7 @@ jobs:
# Unique key of your project. You can find it in SonarQube > [my project] > Project Information (top-right menu)
# mandatory
-Dsonar.projectKey=Kilowatt-Commando_controller-service
+ -Dsonar.organizationKey=kilowatt-commando
# Comma-separated paths to directories containing main source files.
#-Dsonar.sources= # optional, default is project base directory
# When you need the analysis to take place in a directory other than the one from which it was launched
From 215914f8b208be3d8aabf0b91de6d387b8f32beb Mon Sep 17 00:00:00 2001
From: Clemi2806 <38780028+Clemi2806@users.noreply.github.com>
Date: Sun, 19 Jan 2025 00:22:09 +0100
Subject: [PATCH 4/6] ci: Fix typo
---
.github/workflows/sonarqube.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/sonarqube.yml b/.github/workflows/sonarqube.yml
index 28fc12e..a1fb952 100644
--- a/.github/workflows/sonarqube.yml
+++ b/.github/workflows/sonarqube.yml
@@ -56,7 +56,7 @@ jobs:
# Unique key of your project. You can find it in SonarQube > [my project] > Project Information (top-right menu)
# mandatory
-Dsonar.projectKey=Kilowatt-Commando_controller-service
- -Dsonar.organizationKey=kilowatt-commando
+ -Dsonar.organization=kilowatt-commando
# Comma-separated paths to directories containing main source files.
#-Dsonar.sources= # optional, default is project base directory
# When you need the analysis to take place in a directory other than the one from which it was launched
From 2d37e7c72651aa62715398e2c506f7552becd4d6 Mon Sep 17 00:00:00 2001
From: Clemens Bauer <38780028+Clemi2806@users.noreply.github.com>
Date: Sun, 19 Jan 2025 00:27:38 +0100
Subject: [PATCH 5/6] ci: Add Jacoco
---
pom.xml | 25 ++++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 9648182..eba04b2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -118,7 +118,30 @@
17
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.12
+
+
+ prepare-agent
+
+ prepare-agent
+
+
+
+ report
+
+ report
+
+
+
+ XML
+
+
+
+
+
-
From 757dcfcfc7d7e428ca8eaf6394e1366106d171f5 Mon Sep 17 00:00:00 2001
From: Clemi2806 <38780028+Clemi2806@users.noreply.github.com>
Date: Sun, 19 Jan 2025 00:31:20 +0100
Subject: [PATCH 6/6] ci: Add sonar properties for jacoco
---
pom.xml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/pom.xml b/pom.xml
index eba04b2..8eff247 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,6 +28,9 @@
17
+
+ target/site/jacoco/jacoco.xml
+