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 :
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
2429jobs :
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