Skip to content

Commit e00847b

Browse files
authored
Sonar workflow updates (#244)
* Sonar workflow updates * Based on ubuntu
1 parent b8782e7 commit e00847b

File tree

2 files changed

+40
-37
lines changed

2 files changed

+40
-37
lines changed

.config/dotnet-tools.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,20 @@
88
"reportgenerator"
99
],
1010
"rollForward": false
11+
},
12+
"dotnet-coverage": {
13+
"version": "18.1.0",
14+
"commands": [
15+
"dotnet-coverage"
16+
],
17+
"rollForward": false
18+
},
19+
"dotnet-sonarscanner": {
20+
"version": "11.0.0",
21+
"commands": [
22+
"dotnet-sonarscanner"
23+
],
24+
"rollForward": false
1125
}
1226
}
1327
}

.github/workflows/sonar.yml

Lines changed: 26 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ on:
77
- "src/**"
88
- "tests/**"
99
- "**/*.props"
10+
- "**/packages.lock.json"
11+
- ".config/dotnet-tools.json"
1012
- "global.json"
1113
- ".github/workflows/sonar.yml"
1214
pull_request:
@@ -15,6 +17,9 @@ on:
1517
paths:
1618
- "src/**"
1719
- "tests/**"
20+
- "**/*.props"
21+
- "**/packages.lock.json"
22+
- ".config/dotnet-tools.json"
1823
- "global.json"
1924
- ".github/workflows/sonar.yml"
2025
workflow_dispatch:
@@ -23,7 +28,7 @@ concurrency:
2328
cancel-in-progress: true
2429
jobs:
2530
sonarcloud:
26-
runs-on: windows-latest
31+
runs-on: ubuntu-latest
2732
permissions:
2833
contents: read
2934
steps:
@@ -34,48 +39,32 @@ jobs:
3439
uses: actions/setup-dotnet@v5
3540
with:
3641
global-json-file: ./global.json
42+
cache: true
43+
cache-dependency-path: "**/packages.lock.json"
3744
- name: Set up JDK
3845
uses: actions/setup-java@v5
3946
with:
4047
java-version: 17
4148
distribution: "zulu"
42-
- name: Cache SonarCloud packages
43-
uses: actions/cache@v4
44-
with:
45-
path: ~\sonar\cache
46-
key: ${{ runner.os }}-sonar
47-
restore-keys: ${{ runner.os }}-sonar
48-
- name: Cache SonarCloud scanner
49-
id: cache-sonar-scanner
50-
uses: actions/cache@v4
51-
with:
52-
path: .\.sonar\scanner
53-
key: ${{ runner.os }}-sonar-scanner
54-
restore-keys: ${{ runner.os }}-sonar-scanner
55-
- name: Install SonarCloud scanner
56-
if: steps.cache-sonar-scanner.outputs.cache-hit != 'true'
57-
shell: powershell
58-
run: |
59-
New-Item -Path .\.sonar\scanner -ItemType Directory
60-
dotnet tool update dotnet-sonarscanner --tool-path .\.sonar\scanner
61-
- name: Install dotnet-coverage tool
62-
run: |
63-
dotnet tool install --global dotnet-coverage
49+
- name: Install tools
50+
run: dotnet tool restore
6451
- name: Build and analyze with coverage
6552
env:
6653
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
67-
shell: powershell
54+
USE_MOCK_SERVER: ${{ vars.USE_MOCK_SERVER }}
6855
run: |
69-
# Start SonarCloud analysis
70-
.\.sonar\scanner\dotnet-sonarscanner begin `
71-
/k:"Tsingis_bitcoin-web-api" `
72-
/o:"tsingis" `
73-
/d:sonar.token="${{ secrets.SONAR_TOKEN }}" `
74-
/d:sonar.host.url="https://sonarcloud.io" `
75-
/d:sonar.cs.vscoveragexml.reportsPaths="coverage.xml" `
76-
/d:sonar.scanner.scanAll=false `
77-
/d:sonar.exclusions="global.json"
78-
dotnet build --no-incremental
79-
dotnet-coverage collect "dotnet test" -f xml -o "coverage.xml"
80-
.\.sonar\scanner\dotnet-sonarscanner end `
81-
/d:sonar.token="${{ secrets.SONAR_TOKEN }}"
56+
dotnet tool run dotnet-sonarscanner begin \
57+
/k:"Tsingis_bitcoin-web-api" \
58+
/o:"tsingis" \
59+
/d:sonar.token="${{ env.SONAR_TOKEN }}" \
60+
/d:sonar.host.url="https://sonarcloud.io" \
61+
/d:sonar.cs.vscoveragexml.reportsPaths="coverage.xml" \
62+
/d:sonar.scanner.scanAll=false
63+
64+
dotnet restore --locked-mode
65+
dotnet build --no-restore
66+
dotnet tool run dotnet-coverage collect \
67+
"dotnet test --no-restore --no-build" -f xml -o "coverage.xml"
68+
69+
dotnet tool run dotnet-sonarscanner end \
70+
/d:sonar.token="${{ env.SONAR_TOKEN }}"

0 commit comments

Comments
 (0)