diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 824ae2e9..9236e1a8 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -20,10 +20,10 @@ on: jobs: test: name: Unit Tests - runs-on: [ ubuntu-latest ] + runs-on: [ ubuntu-20.04 ] steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - uses: actions/checkout@v3 with: fetch-depth: 0 @@ -31,12 +31,15 @@ jobs: - name: Install packages run: | sudo apt update - sudo apt-get -y install valgrind libcunit1 libcunit1-doc libcunit1-dev libmsgpack-dev gcovr libtool xsltproc docbook-xsl uuid-dev libcurl4-openssl-dev lcov libmsgpack* libcjson-dev build-essential - pip install codecov + sudo apt-get -y install valgrind libcunit1 libcunit1-doc libcunit1-dev libmsgpack-dev gcovr libtool xsltproc docbook-xsl + pip install coverage - name: Make Build Directory run: mkdir build + - name: Get Sonarcloud Binaries + uses: sonarsource/sonarcloud-github-c-cpp@v2 + - name: Get rtrouted Binary working-directory: build run: | @@ -69,12 +72,18 @@ jobs: run: | gcovr --xml coverage.xml -r .. || echo "Coverage generation skipped" + - name: Upload SonarCloud + run: | + sonar-scanner -Dsonar.host.url=https://sonarcloud.io -Dproject.settings=.sonar-project.properties -Dsonar.login=${{ secrets.SONAR_TOKEN }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Upload Codecov.io - if: always() - uses: codecov/codecov-action@5c47607acb93fed5485fdbf7232e8a31425f672a # v4.6.0 + #uses: codecov/codecov-action@v1 + uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4 with: - files: ./build/coverage.xml - fail_ci_if_error: false - token: ${{ secrets.CODECOV_TOKEN }} + directory: . + fail_ci_if_error: true + diff --git a/.sonar-project.properties b/.sonar-project.properties new file mode 100644 index 00000000..9b389b5d --- /dev/null +++ b/.sonar-project.properties @@ -0,0 +1,33 @@ +# SPDX-FileCopyrightText: 2023 Comcast Cable Communications Management, LLC +# SPDX-License-Identifier: Apache-2.0 + +# Reference: +# https://github.com/SonarSource/sonarcloud_example_go-sqscanner-travis/blob/master/sonar-project.properties + + +# ===================================================== +# Standard properties +# ===================================================== + +sonar.organization=xmidt-org +sonar.projectKey=xmidt-org_webcfg +sonar.projectName=webcfg + +sonar.sources=src + +# ===================================================== +# Meta-data for the project +# ===================================================== + +sonar.links.homepage=https://github.com/xmidt-org/webcfg +sonar.links.ci=https://github.com/xmidt-org/webcfg/actions +sonar.links.scm=https://github.com/xmidt-org/webcfg +sonar.links.issue=https://github.com/xmidt-org/webcfg/issues + +# ===================================================== +# Properties specific to C +# ===================================================== +sonar.cfamily.build-wrapper-output=build/bw-output +sonar.cfamily.threads=2 +sonar.cfamily.cache.enabled=false +sonar.coverageReportPaths=build/coverage.xml