diff --git a/.github/workflows/sonarcloud-backend-build-and-analyze.yml b/.github/workflows/sonarcloud-backend-build-and-analyze.yml new file mode 100644 index 0000000..7070681 --- /dev/null +++ b/.github/workflows/sonarcloud-backend-build-and-analyze.yml @@ -0,0 +1,55 @@ +name: SonarCloud Backend +on: + push: + branches: + - master + paths: + - "**.cs" + - "**.csproj" + pull_request: + types: [opened, synchronize, reopened] + paths: + - "**.cs" + - "**.csproj" +jobs: + build: + name: Build and analyze + runs-on: windows-latest + steps: + - name: Set up JDK 11 + uses: actions/setup-java@v3 + with: + java-version: 11 + distribution: "zulu" # Alternative distribution options are available. + - uses: actions/checkout@v3 + with: + fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis + - name: Cache SonarCloud packages + uses: actions/cache@v3 + with: + path: ~\sonar\cache + key: ${{ runner.os }}-sonar + restore-keys: ${{ runner.os }}-sonar + - name: Cache SonarCloud scanner + id: cache-sonar-scanner + uses: actions/cache@v3 + with: + path: .\.sonar\scanner + key: ${{ runner.os }}-sonar-scanner + restore-keys: ${{ runner.os }}-sonar-scanner + - name: Install SonarCloud scanner + if: steps.cache-sonar-scanner.outputs.cache-hit != 'true' + shell: powershell + run: | + New-Item -Path .\.sonar\scanner -ItemType Directory + dotnet tool update dotnet-sonarscanner --tool-path .\.sonar\scanner + - name: Build and analyze + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN_BACKEND }} + shell: powershell + run: | + .\.sonar\scanner\dotnet-sonarscanner begin /k:"ksummarized_ksummarized.com_backend" /o:"ksummarized" /d:sonar.login="${{ secrets.SONAR_TOKEN_BACKEND }}" /d:sonar.host.url="https://sonarcloud.io" + dotnet restore backend/ksummarized.sln + dotnet build backend/ksummarized.sln + .\.sonar\scanner\dotnet-sonarscanner end /d:sonar.login="${{ secrets.SONAR_TOKEN_BACKEND }}" diff --git a/.github/workflows/sonarcloud-frontend-analyze.yml b/.github/workflows/sonarcloud-frontend-analyze.yml new file mode 100644 index 0000000..d17b780 --- /dev/null +++ b/.github/workflows/sonarcloud-frontend-analyze.yml @@ -0,0 +1,32 @@ +name: SonarCloud Frontend +on: + push: + branches: + - master + paths: + - "**.ts" + - "**.tsx" + pull_request: + types: [opened, synchronize, reopened] + paths: + - "**.ts" + - "**.tsx" +jobs: + sonarcloud: + name: SonarCloud + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: SonarCloud Scan + uses: SonarSource/sonarcloud-github-action@master + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN_FRONTEND }} + with: + projectBaseDir: frontend + args: > + -Dsonar.organization=ksummarized + -Dsonar.projectKey=ksummarized_ksummarized.com_frontend + -Dsonar.vebose=true diff --git a/README.md b/README.md index b73dcc0..4da4ea6 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # ksummarized.com +[![SonarCloud](https://sonarcloud.io/images/project_badges/sonarcloud-white.svg)](https://sonarcloud.io/summary/new_code?id=ksummarized_ksummarized.com_frontend) [![Build and test - backend](https://github.com/ksummarized/ksummarized.com/actions/workflows/build-and-test-backend.yml/badge.svg)](https://github.com/ksummarized/ksummarized.com/actions/workflows/build-and-test-backend.yml) [![Lint and test - frontend](https://github.com/ksummarized/ksummarized.com/actions/workflows/lint-and-test-frontend.yml/badge.svg)](https://github.com/ksummarized/ksummarized.com/actions/workflows/lint-and-test-frontend.yml)