From e30b561dfeb65ea1e83723f08204c32ce5539cb9 Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Sat, 4 Apr 2026 11:07:49 +0200 Subject: [PATCH] fix: use mvn sonar:sonar instead of standalone sonar-scanner The standalone sonar-scanner CLI has Java discovery issues in the build container. Switch to the Maven sonar plugin (same approach as cameleer3 agent repo), which uses Maven's own JDK. This also removes the sonar-scanner download/install step entirely. Co-Authored-By: Claude Opus 4.6 (1M context) --- .gitea/workflows/sonarqube.yml | 32 +++----------------------------- 1 file changed, 3 insertions(+), 29 deletions(-) diff --git a/.gitea/workflows/sonarqube.yml b/.gitea/workflows/sonarqube.yml index 0655452c..e423165f 100644 --- a/.gitea/workflows/sonarqube.yml +++ b/.gitea/workflows/sonarqube.yml @@ -57,41 +57,15 @@ jobs: working-directory: ui run: npm run lint -- --format json --output-file eslint-report.json || true - - name: Install sonar-scanner - run: | - SONAR_SCANNER_VERSION=6.2.1.4610 - ARCH=$(uname -m) - case "$ARCH" in - aarch64|arm64) PLATFORM="linux-aarch64" ;; - *) PLATFORM="linux-x64" ;; - esac - curl -sSLo sonar-scanner.zip "https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-${SONAR_SCANNER_VERSION}-${PLATFORM}.zip" - jar xf sonar-scanner.zip - chmod +x "sonar-scanner-${SONAR_SCANNER_VERSION}-${PLATFORM}/bin/sonar-scanner" - ln -s "$(pwd)/sonar-scanner-${SONAR_SCANNER_VERSION}-${PLATFORM}/bin/sonar-scanner" /usr/local/bin/sonar-scanner - - name: SonarQube Analysis run: | - # sonar-scanner 6.x uses SONAR_SCANNER_JAVA_HOME (not JAVA_HOME) - if [ -z "$JAVA_HOME" ]; then - JAR_PATH=$(readlink -f $(which jar) 2>/dev/null || find / -name jar -type f 2>/dev/null | head -1) - export JAVA_HOME=$(dirname $(dirname "$JAR_PATH")) - fi - export SONAR_SCANNER_JAVA_HOME="$JAVA_HOME" - export PATH="$JAVA_HOME/bin:$PATH" - sonar-scanner \ - -Dsonar.host.url="$SONAR_HOST_URL" \ - -Dsonar.token="$SONAR_TOKEN" \ + mvn sonar:sonar --batch-mode \ + -Dsonar.host.url=${{ secrets.SONAR_HOST_URL }} \ + -Dsonar.token=${{ secrets.SONAR_TOKEN }} \ -Dsonar.projectKey=cameleer3-server \ -Dsonar.projectName="Cameleer3 Server" \ -Dsonar.sources=cameleer3-server-core/src/main/java,cameleer3-server-app/src/main/java,ui/src \ -Dsonar.tests=cameleer3-server-core/src/test/java,cameleer3-server-app/src/test/java \ - -Dsonar.java.binaries=cameleer3-server-core/target/classes,cameleer3-server-app/target/classes \ - -Dsonar.java.test.binaries=cameleer3-server-core/target/test-classes,cameleer3-server-app/target/test-classes \ - -Dsonar.java.libraries="$HOME/.m2/repository/**/*.jar" \ -Dsonar.typescript.eslint.reportPaths=ui/eslint-report.json \ -Dsonar.eslint.reportPaths=ui/eslint-report.json \ -Dsonar.exclusions="ui/node_modules/**,ui/dist/**,**/target/**" - env: - SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}