Skip to content

Feature/ultip 5215 #703

Feature/ultip 5215

Feature/ultip 5215 #703

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 }}