diff --git a/.github/workflows/cxx-ci.yml b/.github/workflows/cxx-ci.yml
index c1c0d33ff..c4f8c4471 100644
--- a/.github/workflows/cxx-ci.yml
+++ b/.github/workflows/cxx-ci.yml
@@ -6,9 +6,10 @@ name: cxx plugin CI
on:
push:
- branches: [ master ]
+ branches:
+ - master
pull_request:
- branches: [ master ]
+ types: [opened, synchronize, reopened]
defaults:
run:
@@ -215,89 +216,6 @@ jobs:
run: mvn -B -e -V verify --file pom.xml
- # -----------------------------------------------------------------------------------------------------------
- # Update SonarCloud results
- # - Java 11 is no longer supported as scanner runtime environment
- # -----------------------------------------------------------------------------------------------------------
- sonar-cloud:
-
- strategy:
- matrix:
- os: [ubuntu-latest]
- java: [ '17' ]
- distribution: [ 'temurin' ]
-
- if: github.event_name == 'push'
- runs-on: ${{ matrix.os }}
-
- steps:
-
- # context information
- #
- - name: Dump GitHub Context
- env:
- GITHUB_CONTEXT: ${{ toJSON(github) }}
- run: echo "$GITHUB_CONTEXT"
- - name: Dump Matrix Context
- env:
- MATRIX_CONTEXT: ${{ toJSON(matrix) }}
- run: echo "$MATRIX_CONTEXT"
-
- # checkout code
- # - to provide complete SCM information to the sonar scanner,
- # all historical data for all branches and tags must be retrieved (fetch-depth: 0)
- #
- - name: Checkout repository
- uses: actions/checkout@v4
- with:
- fetch-depth: 0
-
- # setup Java
- #
- - name: Set up JDK Java ${{ matrix.java }} | ${{ matrix.distribution }} | ${{ matrix.os }}
- uses: actions/setup-java@v4
- with:
- java-version: ${{ matrix.java }}
- distribution: ${{ matrix.distribution }}
- cache: maven
-
- # read version number from POM
- #
- - name: get-pom-version
- id: pom-version
- uses: andreacomo/maven-gav-extractor@v2
-
- # remove -SNAPSHOT from POM version (major.minor.patch-SNAPSHOT)
- #
- - run: echo "CXX_POM_VERSION=${{ steps.pom-version.outputs.version }}" >> $GITHUB_ENV
- - run: echo "CXX_VERSION=${CXX_POM_VERSION%-*}" >> $GITHUB_ENV
-
- # set version number of plugin JAR
- # - 'major.minor.patch' and 'build' number from actions run number
- #
- - name: Sets the current project's version
- run: mvn versions:set -DartifactId='cxx' -DnewVersion='${{ env.CXX_VERSION }}.${{ github.run_number }}'
-
- - name: Dump environment variables
- run: env
-
- # Build and test with with Maven
- # - use phase 'verify' to aggregate coverage results (part of integration-tests)
- # - use phase 'install' to resolve dependencies (necessary for sonar-scanner)
- #
- - name: Build and test with Maven
- run: mvn -B -e -V install --file pom.xml
-
- # Update SonarCloud results
- # - Secrets are not passed to the runner when a workflow is triggered from a forked repository!
- #
- - name: Update SonarCloud results
- run: mvn sonar:sonar -B -e -V -Dsonar.organization=sonaropencommunity -Dsonar.host.url=https://sonarcloud.io -Dsonar.token=$SONAR_TOKEN -Dsonar.python.version=3.8
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
-
-
# -----------------------------------------------------------------------------------------------------------
# test cxx plugin with SonarQube (Linux)
# -----------------------------------------------------------------------------------------------------------
diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml
new file mode 100644
index 000000000..e378f2d66
--- /dev/null
+++ b/.github/workflows/sonarcloud.yml
@@ -0,0 +1,56 @@
+#
+# Update SonarCloud results
+#
+name: SonarCloud
+
+on:
+ push:
+ branches:
+ - master
+
+jobs:
+
+ build:
+
+ name: Build and analyze
+ runs-on: ubuntu-latest
+
+ steps:
+
+ # checkout code
+ # - to provide complete SCM information to the sonar scanner,
+ # all historical data for all branches and tags must be retrieved (fetch-depth: 0)
+ #
+ - uses: actions/checkout@v4
+ with:
+ fetch-depth: 0 # shallow clones should be disabled for a better relevancy of analysis
+
+ # setup Java
+ #
+ - name: Set up JDK 17
+ uses: actions/setup-java@v4
+ with:
+ java-version: 17
+ distribution: 'zulu' # alternative distribution options are available
+
+ - name: Cache SonarQube packages
+ uses: actions/cache@v4
+ with:
+ path: ~/.sonar/cache
+ key: ${{ runner.os }}-sonar
+ restore-keys: ${{ runner.os }}-sonar
+
+ - name: Cache Maven packages
+ uses: actions/cache@v4
+ with:
+ path: ~/.m2
+ key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
+ restore-keys: ${{ runner.os }}-m2
+
+ # Update SonarCloud results
+ # - Secrets are not passed to the runner when a workflow is triggered from a forked repository!
+ #
+ - name: Build and analyze
+ env:
+ SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
+ run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=org.sonarsource.sonarqube-plugins.cxx:cxx
diff --git a/pom.xml b/pom.xml
index ab81a5931..0ef53baff 100644
--- a/pom.xml
+++ b/pom.xml
@@ -257,6 +257,10 @@
2010-2024
GNU LGPL v3
+
+ sonaropencommunity
+ https://sonarcloud.io
+
true
target/${project.artifactId}-${project.version}.jar
UTF-8