Skip to content

Commit

Permalink
Create sonarcloud.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
guibranco authored Nov 12, 2024
1 parent 248c88f commit a6875e3
Showing 1 changed file with 64 additions and 0 deletions.
64 changes: 64 additions & 0 deletions .github/workflows/sonarcloud.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: SonarCloud Analysis

on:
push:
branches:
- main
pull_request:
types: [opened, synchronize, reopened]

jobs:
SonarCloudAnalysis:
name: SonarCloud Analysis
runs-on: ubuntu-latest

steps:
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 21

- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Docker compose up
run: docker compose up -d && sleep 10

- name: Cache SonarCloud packages
uses: actions/cache@v4
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar

- name: Cache SonarCloud scanner
id: cache-sonar-scanner
uses: actions/cache@v4
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar-scanner
restore-keys: ${{ runner.os }}-sonar-scanner

- name: Install SonarCloud scanner
if: steps.cache-sonar-scanner.outputs.cache-hit != 'true'
run: dotnet tool update dotnet-sonarscanner --tool-path ~/.sonar/cache/

- name: Set SonarCloud variables
shell: bash
run: |
KEY="${{ github.repository_owner }}_${{ github.event.repository.name }}"
ORG="${{ github.repository_owner }}"
echo "KEY=${KEY}" >> "${GITHUB_ENV}" # Keep the variable KEY as it
echo "ORG=${ORG@L}" >> "${GITHUB_ENV}" # Lowercase the ORG variable
- name: Build and analyze
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: |
~/.sonar/cache/dotnet-sonarscanner begin /k:"${{ env.KEY }}" /o:"${{ env.ORG }}" /d:sonar.token="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io" /d:sonar.scanner.scanAll=false /d:sonar.cs.opencover.reportsPaths="Tests/**/coverage.net8.0.opencover.xml"
dotnet build -c Release --verbosity minimal
dotnet test -c Release --verbosity minimal --no-build --no-restore /p:CollectCoverage=true /p:CoverletOutputFormat="opencover"
~/.sonar/cache/dotnet-sonarscanner end /d:sonar.token="${{ secrets.SONAR_TOKEN }}"

0 comments on commit a6875e3

Please sign in to comment.