diff --git a/.github/workflows/dotnetcore.yml b/.github/workflows/dotnetcore.yml index 251b58d17e..5f6b376481 100644 --- a/.github/workflows/dotnetcore.yml +++ b/.github/workflows/dotnetcore.yml @@ -1,5 +1,9 @@ name: .NET Core +permissions: + contents: read + pull-requests: write + on: push: branches: @@ -30,20 +34,43 @@ jobs: uses: actions/setup-dotnet@v4.0.0 with: dotnet-version: 6.0.x - - name: Setup .NET 8.0.x uses: actions/setup-dotnet@v4.0.0 with: dotnet-version: 8.0.x - - name: Setup .NET 9.0.x uses: actions/setup-dotnet@v4.0.0 with: dotnet-version: 9.0.100-rc.2.24474.11 - name: Run the tests - run: dotnet test Wilson.sln + run: dotnet test Wilson.sln --collect:"XPlat Code Coverage" --settings:./build/CodeCoverage.runsettings + + - name: Create code coverage report + run: | + dotnet tool install -g dotnet-reportgenerator-globaltool + reportgenerator -reports:./**/coverage.cobertura.xml -targetdir:CodeCoverage -reporttypes:'MarkdownSummaryGithub;Cobertura' + + - name: Write Coverage to Job Summary + shell: bash + run: | + cat CodeCoverage/SummaryGithub.md >> $GITHUB_STEP_SUMMARY + echo "COMMENT_CONTENT_ENV_VAR<> $GITHUB_ENV + echo $(cat CodeCoverage/SummaryGithub.md) >> $GITHUB_ENV + echo "EOF" >> $GITHUB_ENV + + - name: Comment Coverage in PR + uses: actions/github-script@v7 + id: comment + with: + script: | + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: process.env.COMMENT_CONTENT_ENV_VAR + }) # Run baseline package validation - name: Pack - run: dotnet pack Product.proj --no-restore --no-build + run: dotnet pack Product.proj --no-restore --no-build \ No newline at end of file diff --git a/build/CodeCoverage.runsettings b/build/CodeCoverage.runsettings index 82114b22f3..d81f4ea1c1 100644 --- a/build/CodeCoverage.runsettings +++ b/build/CodeCoverage.runsettings @@ -40,6 +40,10 @@ Included items must then not match any entries in the exclude list to remain inc .*\microsoft.identitymodel.xml.dll .*\system.identitymodel.tokens.jwt.dll + + .*\\test\\.* + .*Test\.dll + diff --git a/build/commonTest.props b/build/commonTest.props index 0ab6a6d387..f011e71f99 100644 --- a/build/commonTest.props +++ b/build/commonTest.props @@ -39,6 +39,10 @@ + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + all runtime; build; native; contentfiles; analyzers diff --git a/build/dependenciesTest.props b/build/dependenciesTest.props index 297bb5c296..de16b18cd3 100644 --- a/build/dependenciesTest.props +++ b/build/dependenciesTest.props @@ -1,5 +1,6 @@ + 6.0.2 3.3.4 2.1.30 3.0.5