From 1271a30f8de6426b814f31ac4762b965773216cf Mon Sep 17 00:00:00 2001 From: Vincent <30174292+VibeNL@users.noreply.github.com> Date: Tue, 17 Feb 2026 14:22:03 +0100 Subject: [PATCH 1/4] Stryker.net --- .config/dotnet-tools.json | 10 ++++++++++ .github/workflows/docker-publish.yml | 4 ++++ 2 files changed, 14 insertions(+) create mode 100644 .config/dotnet-tools.json diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json new file mode 100644 index 000000000..f37c66b63 --- /dev/null +++ b/.config/dotnet-tools.json @@ -0,0 +1,10 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "dotnet-stryker": { + "version": "4.0.0", + "commands": ["dotnet-stryker"] + } + } +} diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 3b4b32853..1744f2fb1 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -55,6 +55,10 @@ jobs: run: | dotnet tool install --global dotnet-sonarscanner dotnet tool install --global dotnet-coverage + - name: Restore local .NET tools (Stryker) + run: dotnet tool restore + - name: Run Stryker mutation tests + run: dotnet stryker --solution-path GhostfolioSidekick.slnx || true - name: Add .NET global tools to PATH run: echo "$HOME/.dotnet/tools" >> $GITHUB_PATH - name: Cache SonarCloud packages From 3bca2167bcec5b37b97a735fc64fd20daa884a5f Mon Sep 17 00:00:00 2001 From: Vincent <30174292+VibeNL@users.noreply.github.com> Date: Tue, 17 Feb 2026 20:49:25 +0100 Subject: [PATCH 2/4] 1 --- .github/workflows/docker-publish.yml | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 1744f2fb1..3a3ce6ef1 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -57,8 +57,6 @@ jobs: dotnet tool install --global dotnet-coverage - name: Restore local .NET tools (Stryker) run: dotnet tool restore - - name: Run Stryker mutation tests - run: dotnet stryker --solution-path GhostfolioSidekick.slnx || true - name: Add .NET global tools to PATH run: echo "$HOME/.dotnet/tools" >> $GITHUB_PATH - name: Cache SonarCloud packages @@ -69,6 +67,21 @@ jobs: restore-keys: ${{ runner.os }}-sonar - name: Build solution run: dotnet build + - name: Run Stryker mutation tests + run: dotnet stryker solution GhostfolioSidekick.slnx --reporters "['html', 'dashboard', 'progress', 'cleartext', 'json', 'dashboard']" --output-path "stryker-output" || true + - name: Upload Stryker report + uses: actions/upload-artifact@v4 + with: + name: stryker-report + path: stryker-output/ + - name: Import Stryker results into SonarQube + if: env.SONAR_TOKEN != '' + run: | + if [ -f stryker-output/stryker-report.json ]; then + dotnet-sonarscanner begin /k:"VibeNL_GhostfolioSidekick" /o:"vibenl" /d:sonar.login="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io" /d:sonar.cs.vscoveragexml.reportsPaths=coverage.xml /d:sonar.testExecutionReportPaths=stryker-output/stryker-report.json + dotnet build + dotnet-sonarscanner end /d:sonar.login="${{ secrets.SONAR_TOKEN }}" + fi - name: Install Playwright Browsers for all test targets run: | find . -type f -name 'playwright.ps1' | while read script; do From 6a434a47ea2374f01e7f95054766104d935aaef0 Mon Sep 17 00:00:00 2001 From: Vincent <30174292+VibeNL@users.noreply.github.com> Date: Wed, 18 Feb 2026 11:20:16 +0100 Subject: [PATCH 3/4] remove from pipeline --- .github/workflows/docker-publish.yml | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 3a3ce6ef1..3b4b32853 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -55,8 +55,6 @@ jobs: run: | dotnet tool install --global dotnet-sonarscanner dotnet tool install --global dotnet-coverage - - name: Restore local .NET tools (Stryker) - run: dotnet tool restore - name: Add .NET global tools to PATH run: echo "$HOME/.dotnet/tools" >> $GITHUB_PATH - name: Cache SonarCloud packages @@ -67,21 +65,6 @@ jobs: restore-keys: ${{ runner.os }}-sonar - name: Build solution run: dotnet build - - name: Run Stryker mutation tests - run: dotnet stryker solution GhostfolioSidekick.slnx --reporters "['html', 'dashboard', 'progress', 'cleartext', 'json', 'dashboard']" --output-path "stryker-output" || true - - name: Upload Stryker report - uses: actions/upload-artifact@v4 - with: - name: stryker-report - path: stryker-output/ - - name: Import Stryker results into SonarQube - if: env.SONAR_TOKEN != '' - run: | - if [ -f stryker-output/stryker-report.json ]; then - dotnet-sonarscanner begin /k:"VibeNL_GhostfolioSidekick" /o:"vibenl" /d:sonar.login="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io" /d:sonar.cs.vscoveragexml.reportsPaths=coverage.xml /d:sonar.testExecutionReportPaths=stryker-output/stryker-report.json - dotnet build - dotnet-sonarscanner end /d:sonar.login="${{ secrets.SONAR_TOKEN }}" - fi - name: Install Playwright Browsers for all test targets run: | find . -type f -name 'playwright.ps1' | while read script; do From f549c0e77c070656235404f596b74334cdfc963e Mon Sep 17 00:00:00 2001 From: Vincent <30174292+VibeNL@users.noreply.github.com> Date: Wed, 18 Feb 2026 11:26:11 +0100 Subject: [PATCH 4/4] 1 --- .config/dotnet-tools.json | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index f37c66b63..188c11253 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -3,8 +3,11 @@ "isRoot": true, "tools": { "dotnet-stryker": { - "version": "4.0.0", - "commands": ["dotnet-stryker"] + "version": "4.12.0", + "commands": [ + "dotnet-stryker" + ], + "rollForward": false } } -} +} \ No newline at end of file