Skip to content

Commit a7c9087

Browse files
add workflow for sonarcube (#936)
1 parent 87d2f03 commit a7c9087

File tree

3 files changed

+56
-0
lines changed

3 files changed

+56
-0
lines changed

.github/workflows/sonarcube.yml

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Sonarcube Scan
2+
on:
3+
push:
4+
branches:
5+
- master
6+
pull_request:
7+
types: [opened, synchronize, reopened]
8+
jobs:
9+
build:
10+
name: Build
11+
runs-on: ubuntu-latest
12+
env:
13+
BUILD_WRAPPER_OUT_DIR: build_wrapper_output_directory # Directory where build-wrapper output will be placed
14+
steps:
15+
- uses: actions/checkout@v4
16+
with:
17+
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
18+
- name: Install Build Wrapper
19+
uses: SonarSource/sonarqube-scan-action/install-build-wrapper@v4
20+
21+
- name: Install Dependencies
22+
run: |
23+
sudo apt-get update
24+
sudo apt-get install -y libzmq3-dev libsqlite3-dev
25+
26+
- name: Install googletest
27+
uses: Bacondish2023/setup-googletest@v1
28+
29+
- name: Run Build Wrapper
30+
run: |
31+
mkdir build
32+
cmake -S . -B build
33+
build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} cmake --build build/ --config Release
34+
- name: SonarQube Scan
35+
uses: SonarSource/sonarqube-scan-action@v4
36+
env:
37+
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} # Put the name of your token here
38+
with:
39+
args: >
40+
--define sonar.cfamily.compile-commands="${{ env.BUILD_WRAPPER_OUT_DIR }}/compile_commands.json"

CMakeLists.txt

+3
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ else()
2222
add_definitions(-Wpedantic -fno-omit-frame-pointer)
2323
endif()
2424

25+
# create compile_commands.json
26+
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
27+
2528

2629
#---- project configuration ----
2730
option(BTCPP_SHARED_LIBS "Build shared libraries" ON)

sonar-project.properties

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
sonar.projectKey=BehaviorTree_BehaviorTree.CPP
2+
sonar.organization=behaviortree
3+
4+
# This is the name and version displayed in the SonarCloud UI.
5+
#sonar.projectName=BehaviorTree.CPP
6+
#sonar.projectVersion=1.0
7+
8+
9+
# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
10+
#sonar.sources=.
11+
12+
# Encoding of the source code. Default is default system encoding
13+
#sonar.sourceEncoding=UTF-8

0 commit comments

Comments
 (0)