Merge pull request #100 from jakubch1/main #4
This file contains 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
# This workflow will build a .NET project | |
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net | |
name: "Calculator Scenario 16" | |
on: | |
push: | |
branches: [ "main" ] | |
paths: [ 'samples/Calculator/tests/**', 'samples/Calculator/src/**', '.github/workflows/Calculator_Scenario16.yml' ] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: ./samples/Calculator | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: 7.0.x | |
- name: Restore dependencies | |
run: dotnet restore | |
- name: Build | |
run: dotnet build --no-restore | |
- name: Install dotnet-coverage | |
run: dotnet tool install -g dotnet-coverage | |
- name: Start server | |
run: dotnet-coverage collect --output-format cobertura --output $GITHUB_WORKSPACE/coverage/final.cobertura.xml --session-id TagScenario16 "dotnet run --no-build" & | |
working-directory: ./samples/Calculator/src/Calculator.Server | |
- name: Run test "add" | |
run: dotnet-coverage connect TagScenario16 "dotnet test --no-build --filter add" | |
working-directory: ./samples/Calculator/tests/Calculator.Server.IntegrationTests | |
- name: Take snapshot 1 | |
run: dotnet-coverage snapshot --reset --output $GITHUB_WORKSPACE/coverage/snapshot1.cobertura.xml TagScenario16 | |
- name: Run test "multiply" | |
run: dotnet-coverage connect TagScenario16 "dotnet test --no-build --filter multiply" | |
working-directory: ./samples/Calculator/tests/Calculator.Server.IntegrationTests | |
- name: Take snapshot 2 | |
run: dotnet-coverage snapshot --reset --output $GITHUB_WORKSPACE/coverage/snapshot2.cobertura.xml TagScenario16 | |
- name: Run test "subtract" | |
run: dotnet-coverage connect TagScenario16 "dotnet test --no-build --filter subtract" | |
working-directory: ./samples/Calculator/tests/Calculator.Server.IntegrationTests | |
- name: Take snapshot 3 | |
run: dotnet-coverage snapshot --reset --output $GITHUB_WORKSPACE/coverage/snapshot3.cobertura.xml TagScenario16 | |
- name: Run test "divide" | |
run: dotnet-coverage connect TagScenario16 "dotnet test --no-build --filter divide" | |
working-directory: ./samples/Calculator/tests/Calculator.Server.IntegrationTests | |
- name: Take snapshot 4 | |
run: dotnet-coverage snapshot --reset --output $GITHUB_WORKSPACE/coverage/snapshot4.cobertura.xml TagScenario16 | |
- name: Stop server | |
run: dotnet-coverage shutdown TagScenario16 | |
- name: Merge coverage reports | |
run: dotnet-coverage merge -f cobertura -o report.cobertura.xml **/snapshot*.cobertura.xml | |
working-directory: '${{ github.workspace }}/coverage' | |
- name: ReportGenerator | |
uses: danielpalme/[email protected] | |
with: | |
reports: '${{ github.workspace }}/coverage/report.cobertura.xml' | |
targetdir: '${{ github.workspace }}/coveragereport' | |
reporttypes: 'MarkdownSummaryGithub' | |
- name: Upload coverage into summary | |
run: cat $GITHUB_WORKSPACE/coveragereport/SummaryGithub.md >> $GITHUB_STEP_SUMMARY | |
- name: Archive code coverage results | |
uses: actions/upload-artifact@v3 | |
with: | |
name: code-coverage-report | |
path: '${{ github.workspace }}/coverage' |