Wow, thank you. I didn’t know that was there. there was a path, so I deleted it, and swapped over to compile_commands.json. This is my current configuration for reference:
steps:
- step: &build-test-sonarcloud
name: Build, test and analyze on SonarCloud
caches:
- sonar
size: 2x # Increase the size to get more memory (1x, 2x, 4x, etc.)
script:
- git config --global --add safe.directory /opt/atlassian/pipelines/agent/build
- sudo chown -R evi:evi .
- git lfs install || true
- git lfs update --force
- git lfs pull
- tar xzf soup_redux.tgz --directory /opt/evident && mv -v /opt/evident/soup_redux /opt/evident/soup
- ls -ld /opt/evident/soup/boost_1_80_0/boost
- ln -s $(pwd) /opt/evident/evi-shared-libs
- find /opt/evident/soup -type d
- echo "Starting sonarcloud scan"
- source /opt/evident/evi-shared-libs/env.bashrc
- echo $LD_LIBRARY_PATH
- echo $SONAR_SCANNER_HOME
- mkdir -p build
- curl --create-dirs -sSLo $HOME/.sonar/sonar-scanner.zip https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-6.2.1.4610-linux-x64.zip
- unzip -o $HOME/.sonar/sonar-scanner.zip -d $HOME/.sonar/
- ls -la $HOME/.sonar/
- curl --create-dirs -sSLo $HOME/.sonar/build-wrapper-linux-x86.zip https://sonarcloud.io/static/cpp/build-wrapper-linux-x86.zip
- unzip -o $HOME/.sonar/build-wrapper-linux-x86.zip -d $HOME/.sonar/
- cd build
- ls -la /opt/evident/evi-shared-libs
- echo "Running cmake..."
- cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DENABLE_COVERAGE=ON ..
- echo "Running build-wrapper..."
- $HOME/.sonar/build-wrapper-linux-x86/build-wrapper-linux-x86-64 --out-dir . make all
- echo "Verifying compile_commands.json:"
- ls -l compile_commands.json
- echo "Running tests and generating coverage..."
- ctest -E "(TestDialogManager|TestSingleFrameDisplay|CaseDataReader_TEST)"
- pip install gcovr
- export PATH=$PATH:/home/user/.local/bin
- mkdir -p ../build/coverage-reports
- gcovr -r .. --sonarqube ../build/coverage-reports/coverage.xml
- cd ..
- echo "Running sonar-scanner..."
- $HOME/.sonar/sonar-scanner-6.2.1.4610-linux-x64/bin/sonar-scanner -X
sonar.organization=evidentvascular
sonar.projectKey=evidentvascular_evi-shared-libs
sonar.host.url=https://sonarcloud.io
sonar.projectVersion=1.0
sonar.sources=.
sonar.inclusions=**/*.h,**/*.cc
sonar.exclusions=**/compiler_depend.ts,**/googletest-src/**,build/**/*
sonar.sourceEncoding=UTF-8
sonar.python.version=3.11
sonar.branch.name=master
# Updated C++ analysis configuration
sonar.cfamily.compile-commands=/opt/atlassian/pipelines/agent/build/build/compile_commands.json
sonar.cfamily.threads=4
sonar.cfamily.cache.enabled=false
sonar.cfamily.gcov.reportsPath=build/coverage-reports
# Optional: Add debug logging to help troubleshoot
sonar.verbose=true
sonar.log.level=DEBUG
Error message in bitbucket at last sonar-scanner command:
18:05:58.757 INFO 0/173 files marked as unchanged
2650
18:05:58.758 INFO Analysis cache: 0/0 hits, 125 bytes
2651
18:05:58.793 ERROR Error during SonarScanner Engine execution
2652
java.lang.IllegalStateException: The Compilation Database JSON file was found but 0 C/C++/Objective-C files were analyzed. Please make sure that:
2653
* you are correctly invoking the scanner with correct configuration
2654
* your compiler is supported
2655
* you are providing the path to the correct Compilation Database JSON
2656
* you are building and analyzing the same source checkout, absolute paths must be identical in build and analysis steps
2657
at com.sonar.cpp.plugin.CFamilySensor.process(CFamilySensor.java:314)
2658
at com.sonar.cpp.plugin.CFamilySensor.execute(CFamilySensor.java:190)
2659
at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:63)
2660
at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:75)
2661
at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:51)
2662
at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:64)
2663
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
2664
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
2665
at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:190)
2666
at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:186)
2667
at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:157)
2668
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
2669
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
2670
at org.sonar.scanner.bootstrap.ScannerContainer.doAfterStart(ScannerContainer.java:416)
2671
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
2672
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
2673
at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:128)
2674
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
2675
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
2676
at org.sonar.scanner.bootstrap.ScannerMain.runScannerEngine(ScannerMain.java:137)
2677
at org.sonar.scanner.bootstrap.ScannerMain.run(ScannerMain.java:52)
2678
at org.sonar.scanner.bootstrap.ScannerMain.main(ScannerMain.java:38)
2679
``
2680
18:05:58.797 DEBUG Cleanup org.eclipse.jgit.util.FS$FileStoreAttributes$Lambda$281/0x00007fc0e02c6000@4bee18dc during JVM shutdown
2681
18:05:59.143 DEBUG Java command exited with code 1
2682
18:05:59.143 INFO EXECUTION FAILURE
2683
18:05:59.145 INFO Total time: 28.234s