From fe210232e3daf47688a6c21a59705fdbf485cc98 Mon Sep 17 00:00:00 2001 From: Joshua Hegedus Date: Sun, 28 Dec 2025 18:21:21 +0100 Subject: [PATCH 1/4] added test pr workflow --- .github/workflows/test-pr.yaml.yml | 98 ++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 .github/workflows/test-pr.yaml.yml diff --git a/.github/workflows/test-pr.yaml.yml b/.github/workflows/test-pr.yaml.yml new file mode 100644 index 0000000..8462ac0 --- /dev/null +++ b/.github/workflows/test-pr.yaml.yml @@ -0,0 +1,98 @@ +name: Run Tests on Pull Request + +on: + push: + branches: ["master"] + pull_request: + branches: ["master"] + +jobs: + build: + name: Build & Test + runs-on: ubuntu-latest + + permissions: + contents: read + checks: write + pull-requests: write + + steps: + - name: Check out the code + uses: actions/checkout@v5 + + - name: Setup .NET + uses: actions/setup-dotnet@v5 + with: + dotnet-version: 10.x + cache: true + cache-dependency-path: | + **/*.csproj + **/*.fsproj + **/*.vbproj + **/packages.lock.json + **/nuget.config + + - name: Restore/Build/Test + run: > + dotnet test + --configuration Release + --verbosity normal + --logger "trx" + --results-directory "${{ github.workspace }}/TestResults" + --collect:"XPlat Code Coverage" + + - name: Combine Coverage Reports + if: always() + uses: danielpalme/ReportGenerator-GitHub-Action@v5.5.0 + with: + reports: "${{ github.workspace }}/TestResults/**/coverage.cobertura.xml" + targetdir: "${{ github.workspace }}/coverage" + reporttypes: "Cobertura" + verbosity: "Info" + title: "Code Coverage" + tag: "${{ github.run_number }}_${{ github.run_id }}" + toolpath: "reportgeneratortool" + + - name: Upload Combined Coverage XML + if: always() + uses: actions/upload-artifact@v5 + with: + name: coverage + path: ${{ github.workspace }}/coverage/Cobertura.xml + retention-days: 5 + + - name: Publish Code Coverage Report + if: always() + uses: irongut/CodeCoverageSummary@v1.3.0 + with: + filename: "coverage/Cobertura.xml" + badge: true + fail_below_min: false + format: markdown + hide_branch_rate: false + hide_complexity: false + indicators: true + output: both + thresholds: "10 30" + + - name: Add Coverage PR Comment + if: github.event_name == 'pull_request' && always() + uses: marocchino/sticky-pull-request-comment@v2 + with: + recreate: true + path: code-coverage-results.md + + - name: Upload Test Result Files + if: always() + uses: actions/upload-artifact@v5 + with: + name: test-results + path: ${{ github.workspace }}/TestResults/**/* + retention-days: 5 + + - name: Publish Test Results + if: always() + uses: EnricoMi/publish-unit-test-result-action@v2.21.0 + with: + # NOTE: using trx_files instead of files due to https://github.com/EnricoMi/publish-unit-test-result-action/issues/424 + trx_files: "${{ github.workspace }}/TestResults/**/*.trx" From a02c38d0b0e49fbf3f96adc04f4d2542a4be2531 Mon Sep 17 00:00:00 2001 From: Joshua Hegedus Date: Sun, 28 Dec 2025 19:47:38 +0100 Subject: [PATCH 2/4] removed the duplicated extension --- .github/workflows/{test-pr.yaml.yml => test-pr.yaml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{test-pr.yaml.yml => test-pr.yaml} (100%) diff --git a/.github/workflows/test-pr.yaml.yml b/.github/workflows/test-pr.yaml similarity index 100% rename from .github/workflows/test-pr.yaml.yml rename to .github/workflows/test-pr.yaml From c9038fe2fbac040f4f3fab8d3968695a8f3cfcd8 Mon Sep 17 00:00:00 2001 From: Joshua Hegedus Date: Sun, 28 Dec 2025 19:49:33 +0100 Subject: [PATCH 3/4] fixed deprecated option usage --- .github/workflows/test-pr.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/test-pr.yaml b/.github/workflows/test-pr.yaml index 8462ac0..3c5f200 100644 --- a/.github/workflows/test-pr.yaml +++ b/.github/workflows/test-pr.yaml @@ -94,5 +94,4 @@ jobs: if: always() uses: EnricoMi/publish-unit-test-result-action@v2.21.0 with: - # NOTE: using trx_files instead of files due to https://github.com/EnricoMi/publish-unit-test-result-action/issues/424 - trx_files: "${{ github.workspace }}/TestResults/**/*.trx" + files: "${{ github.workspace }}/TestResults/**/*.trx" From 5dcf846202623a3df4afb4ad0440e48c0cd79a8c Mon Sep 17 00:00:00 2001 From: Joshua Hegedus Date: Sun, 28 Dec 2025 19:56:04 +0100 Subject: [PATCH 4/4] removed nuget config --- .github/workflows/test-pr.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/test-pr.yaml b/.github/workflows/test-pr.yaml index 3c5f200..397304d 100644 --- a/.github/workflows/test-pr.yaml +++ b/.github/workflows/test-pr.yaml @@ -30,7 +30,6 @@ jobs: **/*.fsproj **/*.vbproj **/packages.lock.json - **/nuget.config - name: Restore/Build/Test run: >