chore(deps): update danielpalme/reportgenerator-github-action action to v5.4.1 #214
Workflow file for this run
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
name: "CI" | |
on: | |
workflow_dispatch: | |
pull_request: | |
branches: [main] | |
jobs: | |
test-macos: | |
name: Test (MacOS) | |
runs-on: macos-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: | | |
6.0.x | |
7.0.x | |
8.0.x | |
- name: Build solution | |
run: dotnet build /p:NetCoreOnly=True --configuration "Release" | |
- name: Run tests | |
run: dotnet test --no-build --collect:"XPlat Code Coverage" --logger trx --results-directory "TestResults" | |
- name: Upload test results (MacOS) | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Test results (MacOS) | |
path: TestResults | |
- name: Upload coverage | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Code coverage (MacOS) | |
path: "**/coverage.cobertura.xml" | |
test-ubuntu: | |
name: Test (Ubuntu) | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: | | |
6.0.x | |
7.0.x | |
8.0.x | |
- name: Build solution | |
run: dotnet build /p:NetCoreOnly=True --configuration "Release" | |
- name: Run tests | |
run: dotnet test --no-build --collect:"XPlat Code Coverage" --logger trx --results-directory "TestResults" | |
- name: Upload test results (Ubuntu) | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Test results (Ubuntu) | |
path: TestResults | |
- name: Upload coverage | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Code coverage (Ubuntu) | |
path: "**/coverage.cobertura.xml" | |
test-windows: | |
name: Test (Windows) | |
runs-on: windows-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: | | |
6.0.x | |
7.0.x | |
8.0.x | |
- name: Build solution | |
run: dotnet build /p:NetCoreOnly=True --configuration "Release" | |
- name: Run tests | |
run: dotnet test --no-build --collect:"XPlat Code Coverage" --logger trx --results-directory "TestResults" | |
- name: Upload test results (Windows) | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Test results (Windows) | |
path: TestResults | |
- name: Upload coverage | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Code coverage (Windows) | |
path: "**/coverage.cobertura.xml" | |
test-net-framework: | |
name: Test (.NET Framework) | |
runs-on: windows-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup MSBuild | |
uses: microsoft/setup-msbuild@v2 | |
- name: Setup VSTest | |
uses: darenm/Setup-VSTest@v1 | |
- name: Navigate to Workspace | |
run: cd $GITHUB_WORKSPACE | |
- name: Build solution | |
run: msbuild.exe Testably.Abstractions.FluentAssertions.sln /p:NetFrameworkOnly=True /p:platform="Any CPU" /p:configuration="Release" -t:restore,build -p:RestorePackagesConfig=true | |
- name: Run tests | |
run: vstest.console.exe .\Build\Tests\Testably.Abstractions.FluentAssertions.Tests\net48\Testably.Abstractions.FluentAssertions.Tests.dll /Logger:trx /ResultsDirectory:TestResults | |
- name: Upload test results (.NET Framework) | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Test results (.NET Framework) | |
path: TestResults | |
stryker: | |
name: Mutation testing | |
runs-on: ubuntu-latest | |
timeout-minutes: 300 | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: | | |
6.0.x | |
7.0.x | |
8.0.x | |
- name: Install .NET Stryker | |
shell: bash | |
run: | | |
dotnet tool install dotnet-stryker --tool-path ../tools | |
- name: Prepare Reports directory | |
shell: bash | |
run: | | |
mkdir Tests/StrykerOutput/Reports -p | |
- name: Analyze Testably.Abstractions.FluentAssertions | |
env: | |
STRYKER_DASHBOARD_API_KEY: ${{ secrets.STRYKER_DASHBOARD_API_KEY }} | |
shell: bash | |
run: | | |
cd Tests | |
../../tools/dotnet-stryker -f ../.github/stryker/Stryker.Config.json -v "${GITHUB_HEAD_REF}" -r "Dashboard" -r "html" -r "cleartext" --since:main | |
mv ./StrykerOutput/**/reports/*.html ./StrykerOutput/Reports/Testably.Abstractions.FluentAssertions-report.html | |
- name: Upload Stryker reports | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Stryker | |
path: Tests/StrykerOutput/Reports/* | |
- name: Add comment to pull request | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
shell: bash | |
run: | | |
prNumber="${{ github.event.number }}" | |
commentsUrl="https://api.github.com/repos/Testably/Testably.Abstractions.FluentAssertions/issues/$prNumber/comments" | |
mutationBadge="[![Mutation testing badge](https://img.shields.io/endpoint?style=flat&url=https%3A%2F%2Fbadge-api.stryker-mutator.io%2Fgithub.com%2FTestably%2FTestably.Abstractions.FluentAssertions%2F${GITHUB_HEAD_REF})](https://dashboard.stryker-mutator.io/reports/github.com/Testably/Testably.Abstractions.FluentAssertions/${GITHUB_HEAD_REF})" | |
dashboardLink="[Stryker.NET](https://stryker-mutator.io/docs/stryker-net/introduction/) mutation tested the changes in the pull request: \n$mutationBadge" | |
echo "Search for comment in PR#$prNumber containing $mutationBadge..." | |
result=$(curl -X GET $commentsUrl \ | |
-H "Content-Type: application/json" \ | |
-H "Authorization: token $GITHUB_TOKEN") | |
if [[ $result != *"$mutationBadge"* ]] | |
then | |
body="{\"body\":\"$dashboardLink\"}" | |
curl -X POST $commentsUrl \ | |
-H "Accept: application/vnd.github+json" \ | |
-H "Authorization: token $GITHUB_TOKEN" \ | |
-d "$body" | |
fi |