Added data bridge api healthcheck and tests. #54
Workflow file for this run
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!=localstack --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 | |
| 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: Make LocalStack init script executable | |
| run: chmod +x ./working-dir/compose/start-localstack.sh | |
| - name: Run docker-compose | |
| uses: hoverkraft-tech/compose-action@v2.0.1 | |
| with: | |
| compose-file: | | |
| ./working-dir/docker-compose.yml | |
| ./working-dir/docker-compose.override.yml | |
| - name: Make script executable | |
| run: chmod +x ./working-dir/wait-for-docker-logs.sh | |
| - name: Wait for localstack | |
| run: ./working-dir/wait-for-docker-logs.sh kda-localstack-emulator "Bootstrapping Complete" 60 | |
| - name: Wait for keeperdata_api to be ready | |
| run: ./working-dir/wait-for-docker-logs.sh keeperdata_api "Now listening on" 60 | |
| - name: Run integration tests | |
| run: dotnet test ./working-dir/KeeperData.Api.sln --filter Dependence=localstack | |
| ## SonarCloud | |
| ## Uncomment to unable SonarCloud scan | |
| ## Requires project to be set up in SonarCloud | |
| ## and the SonarCloud token to be set in the repository secrets | |
| # sonarcloud-scan: | |
| # name: CDP SonarCloud Scan | |
| # uses: ./.github/workflows/sonarcloud.yml | |
| # needs: pr-validator | |
| # secrets: inherit |