Feature/ultip 5215 #695
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Check Pull Request | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| - dev | |
| types: | |
| - opened | |
| - edited | |
| - reopened | |
| - synchronize | |
| - ready_for_review | |
| jobs: | |
| pr-validator: | |
| name: Run Pull Request Checks | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/setup-dotnet@v3 | |
| with: | |
| dotnet-version: '8.0.x' | |
| - name: Check out code | |
| uses: actions/checkout@v3 | |
| with: | |
| path: working-dir | |
| - name: Restore | |
| run: dotnet restore ./working-dir/KeeperData.Api.sln | |
| - name: Build | |
| run: dotnet build ./working-dir/KeeperData.Api.sln --configuration Release --no-restore -warnaserror | |
| - name: Verify format | |
| run: dotnet format ./working-dir/KeeperData.Api.sln --verify-no-changes --verbosity diagnostic | |
| - name: Test (unit and component) | |
| run: dotnet test ./working-dir/KeeperData.Api.sln --filter Dependence!=testcontainers --logger "GitHubActions;summary.includePassedTests=true;summary.includeSkippedTests=true" --collect:"XPlat Code Coverage" --results-directory ./coverage | |
| - name: Install ReportGenerator | |
| run: dotnet tool install --global dotnet-reportgenerator-globaltool | |
| - name: Generate Coverage Summary | |
| run: | | |
| reportgenerator \ | |
| -reports:"./coverage/**/coverage.cobertura.xml" \ | |
| -targetdir:"coverage-report" \ | |
| -reporttypes:"Cobertura;MarkdownSummary" \ | |
| -assemblyfilters:+KeeperData.* | |
| - name: Code coverage report | |
| uses: irongut/CodeCoverageSummary@v1.3.0 | |
| with: | |
| filename: coverage-report/Cobertura.xml | |
| badge: true | |
| fail_below_min: false | |
| format: markdown | |
| hide_branch_rate: false | |
| hide_complexity: true | |
| indicators: true | |
| output: both | |
| thresholds: '60 80' | |
| - name: Add Coverage PR Comment | |
| uses: marocchino/sticky-pull-request-comment@v2 | |
| if: github.event_name == 'pull_request' | |
| with: | |
| recreate: true | |
| path: code-coverage-results.md | |
| integration-tests: | |
| name: Run Integration Tests | |
| runs-on: ubuntu-latest | |
| needs: pr-validator | |
| env: | |
| TESTCONTAINERS_RYUK_DISABLED: true | |
| TESTCONTAINERS_CHECKS_DISABLE: true | |
| steps: | |
| - uses: actions/setup-dotnet@v3 | |
| with: | |
| dotnet-version: '8.0.x' | |
| - name: Check out code | |
| uses: actions/checkout@v3 | |
| with: | |
| path: working-dir | |
| - name: Build keeperdata_api image | |
| run: docker build -t keeperdata_api:latest -f ./working-dir/Dockerfile ./working-dir | |
| - name: Pull localstack and mongo images | |
| run: | | |
| docker pull localstack/localstack:3.0.2 | |
| docker pull mongo:6.0.13 | |
| - name: Run integration tests | |
| run: dotnet test ./working-dir/KeeperData.Api.sln --filter Dependence=testcontainers | |
| sonarcloud-scan: | |
| name: CDP SonarCloud Scan | |
| uses: ./.github/workflows/sonarcloud.yml | |
| needs: pr-validator | |
| secrets: | |
| SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} |