Skip to content

Merge pull request #100 from jakubch1/main #4

Merge pull request #100 from jakubch1/main

Merge pull request #100 from jakubch1/main #4

# 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'