|
1 | | -name: Sonarcloud and Twister Native Sim |
| 1 | +name: SonarQube and Twister Native Sim |
2 | 2 | on: |
3 | 3 | push: |
4 | 4 | branches: |
|
20 | 20 | runs-on: build_self_hosted |
21 | 21 | container: ghcr.io/zephyrproject-rtos/ci:v0.27.4 |
22 | 22 | env: |
23 | | - BUILD_WRAPPER_OUT_DIR: build_wrapper_output_directory # Directory where build-wrapper output will be placed |
24 | 23 | CMAKE_PREFIX_PATH: /opt/toolchains |
25 | 24 | steps: |
26 | 25 | - uses: actions/checkout@v4 |
@@ -58,56 +57,24 @@ jobs: |
58 | 57 | apt-get update |
59 | 58 | apt install -y curl ruby-full |
60 | 59 |
|
61 | | - - name: Run tests with ASAN, no Sonarcloud and build_wrapper |
| 60 | + - name: Run tests with ASAN |
62 | 61 | working-directory: asset-tracker-template |
63 | 62 | run: | |
64 | 63 | west twister -T tests/ --enable-coverage --coverage-platform=native_sim -v --inline-logs --integration --enable-asan --enable-lsan --enable-ubsan |
65 | 64 |
|
66 | | - - name: Install sonar-scanner and build-wrapper |
67 | | - uses: SonarSource/sonarcloud-github-c-cpp@v3 |
68 | | - |
69 | | - - name: Build and test |
| 65 | + - name: Build and test with coverage |
70 | 66 | working-directory: asset-tracker-template |
71 | 67 | run: | |
72 | | - build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} west twister -T tests/ --enable-coverage --coverage-platform=native_sim -v --inline-logs --integration |
| 68 | + west twister -T tests/ --enable-coverage --coverage-platform=native_sim -v --inline-logs --integration |
73 | 69 |
|
74 | 70 | - name: Extract coverage into sonarqube xml format |
75 | 71 | working-directory: asset-tracker-template |
76 | 72 | run: | |
77 | 73 | gcovr twister-out -v --merge-mode-functions=separate --exclude='twister-out|drivers' --sonarqube coverage.xml |
78 | 74 |
|
79 | | - - name: Run sonar-scanner on main |
80 | | - working-directory: asset-tracker-template |
81 | | - if: github.event_name != 'pull_request' |
82 | | - env: |
83 | | - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
84 | | - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} |
85 | | - run: | |
86 | | - sonar-scanner \ |
87 | | - --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}" \ |
88 | | - --define project.settings=sonar-project.properties \ |
89 | | - --define sonar.coverageReportPaths=coverage.xml \ |
90 | | - --define sonar.inclusions=**/*.c,**/*.h \ |
91 | | - --define sonar.exclusions=tests/,drivers/sensor/*_dummy/ |
92 | | -
|
93 | | - - name: Run sonar-scanner on PR |
94 | | - working-directory: asset-tracker-template |
95 | | - if: github.event_name == 'pull_request' |
| 75 | + - name: SonarCloud Scan |
| 76 | + uses: SonarSource/sonarcloud-github-action@v3 |
| 77 | + with: |
| 78 | + projectBaseDir: asset-tracker-template |
96 | 79 | env: |
97 | | - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
98 | 80 | SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} |
99 | | - PR_NUMBER: ${{ github.event.pull_request.number }} |
100 | | - PR_BRANCH: ${{ github.event.pull_request.head.ref }} |
101 | | - BASE_REF: ${{ github.event.pull_request.base.ref }} |
102 | | - HEAD_SHA: ${{ github.event.pull_request.head.sha }} |
103 | | - run: | |
104 | | - sonar-scanner \ |
105 | | - --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}" \ |
106 | | - --define project.settings=sonar-project.properties \ |
107 | | - --define sonar.coverageReportPaths=coverage.xml \ |
108 | | - --define sonar.inclusions=**/*.c,**/*.h \ |
109 | | - --define sonar.exclusions=tests/,drivers/sensor/*_dummy/ \ |
110 | | - --define sonar.scm.revision=${{ env.HEAD_SHA }} \ |
111 | | - --define sonar.pullrequest.key=${{ env.PR_NUMBER }} \ |
112 | | - --define sonar.pullrequest.branch=${{ env.PR_BRANCH }} \ |
113 | | - --define sonar.pullrequest.base=${{ env.BASE_REF }} |
0 commit comments