diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5cb9afd5..8a7df86c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -67,4 +67,3 @@ jobs: - name: Run tests run: make test - diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml index 2fbed897..400d1485 100644 --- a/.github/workflows/codecov.yml +++ b/.github/workflows/codecov.yml @@ -2,9 +2,13 @@ name: Code Coverage Check on: + push: + branches: + - main pull_request: - branches: - - main + paths: + - '**.py' + jobs: test: @@ -26,4 +30,35 @@ jobs: with: name: coverage path: coverage.xml - \ No newline at end of file + sonarcloud: + if: ${{ github.event.pull_request.base.repo.url == github.event.pull_request.head.repo.url }} + name: SonarCloud + runs-on: ubuntu-latest + needs: test + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis + - name: Get coverage + uses: actions/download-artifact@v2 + with: + name: coverage + - name: SonarCloud Scan + uses: SonarSource/sonarcloud-github-action@c25d2e7e3def96d0d1781000d3c429da22cd6252 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + with: + args: > + -Dsonar.python.coverage.reportPaths=coverage.xml + -Dsonar.tests=tests/ + -Dsonar.sources=trestlebot/ + -Dsonar.python.version=3.10 + -Dsonar.projectKey=rh-psce_trestle-bot + -Dsonar.organization=rh-psce + - name: SonarQube Quality Gate check + uses: sonarsource/sonarqube-quality-gate-action@f9fe214a5be5769c40619de2fff2726c36d2d5eb + # Force to fail step after specific time + timeout-minutes: 5 + env: + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} \ No newline at end of file diff --git a/sonar-project.properties b/sonar-project.properties new file mode 100644 index 00000000..3fe7f0eb --- /dev/null +++ b/sonar-project.properties @@ -0,0 +1,13 @@ +sonar.projectKey=rh-psce_trestle-bot +sonar.organization=rh-psce + +# This is the name and version displayed in the SonarCloud UI. +#sonar.projectName=trestle-bot +#sonar.projectVersion=1.0 + + +# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows. +#sonar.sources=. + +# Encoding of the source code. Default is default system encoding +#sonar.sourceEncoding=UTF-8 \ No newline at end of file