Enable sonarqube analysis

This commit is contained in:
Shkar T. Noori 2022-07-21 12:54:45 +00:00
parent 5c2a636f7a
commit 3dd57f5c92
No known key found for this signature in database
GPG Key ID: E7AD76088FB6FE02
3 changed files with 55 additions and 52 deletions

View File

@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"dotnet-sonarscanner": {
"version": "5.6.0",
"version": "5.7.2",
"commands": [
"dotnet-sonarscanner"
]
@ -15,4 +15,4 @@
]
}
}
}
}

51
.github/workflows/sonarqube.yaml vendored Normal file
View File

@ -0,0 +1,51 @@
name: Run SonarQube Analysis
on:
push:
branches:
- main
paths-ignore:
- "**.md"
- ".vscode/**"
concurrency:
group: sonarqube-analysis
jobs:
run-tests:
name: Run SonarQube Analysis
timeout-minutes: 10
runs-on: ubuntu-latest
env:
PROJECT_KEY: ditkrg_DIT.Workflower_AYF14rjSb80e2b0bns3t
SONARQUBE_HOST: ${{ secrets.SONARQUBE_HOST }}
SONARQUBE_TOKEN: ${{ secrets.SONARQUBE_TOKEN }}
ASPNETCORE_ENVIRONMENT: Testing
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
distribution: "zulu"
java-version: "11"
- name: Restore tools
run: dotnet tool restore
- name: Run Tests (SonarQube)
run: |
dotnet tool run dotnet-sonarscanner begin -k:"$PROJECT_KEY" \
-d:sonar.login="$SONARQUBE_TOKEN" \
-d:sonar.host.url="$SONARQUBE_HOST" \
-d:sonar.cs.vscoveragexml.reportsPaths=coverage.xml
dotnet build --no-incremental
dotnet dotnet-coverage collect "dotnet test" -f xml -o "coverage.xml"
dotnet tool run dotnet-sonarscanner end -d:sonar.login="$SONARQUBE_TOKEN"

View File

@ -9,17 +9,6 @@ on:
- "!.github/workflows/tests-base.yaml"
workflow_call:
inputs:
sonarqube:
type: boolean
required: false
default: fals
secrets:
SONARQUBE_HOST:
required: false
SONARQUBE_TOKEN:
required: false
jobs:
run-tests:
@ -28,51 +17,14 @@ jobs:
runs-on: ubuntu-latest
env:
PROJECT_KEY: ditkrg_DIT.Workflower_AYF14rjSb80e2b0bns3t
SONARQUBE_HOST: ${{ secrets.SONARQUBE_HOST }}
SONARQUBE_TOKEN: ${{ secrets.SONARQUBE_TOKEN }}
ASPNETCORE_ENVIRONMENT: Testing
steps:
- uses: actions/checkout@v3
- uses: actions/setup-dotnet@v2
with:
dotnet-version: "6.0.x"
- uses: actions/checkout@v3
if: ${{ !inputs.sonarqube }}
- name: Run tests
if: ${{ !inputs.sonarqube }}
run: dotnet test
###############################
########## SONARQUBE ##########
###############################
- name: Set up JDK 11
uses: actions/setup-java@v3
if: ${{ inputs.sonarqube }}
with:
distribution: "zulu"
java-version: "11"
- uses: actions/checkout@v3
if: ${{ inputs.sonarqube }}
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Restore tools
if: ${{ inputs.sonarqube }}
run: dotnet tool restore
- name: Run tests (SonarQube)
if: ${{ inputs.sonarqube }}
run: |
dotnet tool run dotnet-sonarscanner begin -k:"$PROJECT_KEY" \
-d:sonar.login="$SONARQUBE_TOKEN" \
-d:sonar.host.url="$SONARQUBE_HOST" \
-d:sonar.cs.vscoveragexml.reportsPaths=coverage.xml
dotnet build --no-incremental
dotnet dotnet-coverage collect "dotnet test" -f xml -o "coverage.xml"
dotnet tool run dotnet-sonarscanner end -d:sonar.login="$SONARQUBE_TOKEN"