From 47958fd61cd2a69d5e16e297db3f66c697913339 Mon Sep 17 00:00:00 2001 From: Sandra Greenhalgh Date: Fri, 3 Jul 2026 16:10:44 +0800 Subject: [PATCH 1/8] feat: codecov and testing --- .github/workflows/_dotnet-build-and-test.yml | 10 +++++----- .../_dotnet-build-test-pack-publish-nuget.yml | 8 ++++---- .github/workflows/dotnet-package-pr.yml | 8 ++++---- .github/workflows/dotnet-package-release.yml | 8 ++++---- .github/workflows/dotnet-pr.yml | 9 +++++---- .github/workflows/example-pr.yml | 2 ++ README.md | 4 ++-- 7 files changed, 26 insertions(+), 23 deletions(-) diff --git a/.github/workflows/_dotnet-build-and-test.yml b/.github/workflows/_dotnet-build-and-test.yml index 90c6046..4263043 100644 --- a/.github/workflows/_dotnet-build-and-test.yml +++ b/.github/workflows/_dotnet-build-and-test.yml @@ -26,8 +26,8 @@ on: required: false type: string default: 10.0.x - codecov-slug: - description: "Slug to upload code coverage results for Codecov. e.g. saan800/saansoft-correlationId" + codecov-name: + description: "Name to upload code coverage results for Codecov. e.g. saansoft-correlationId" required: false type: string codecov-flag: @@ -187,10 +187,10 @@ jobs: - name: Upload coverage reports to Codecov uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0 - if: inputs.codecov-slug != '' + if: inputs.codecov-name != '' with: + fail_ci_if_error: true token: ${{ secrets.CODECOV_TOKEN }} directory: ./reports/coverage/ - fail_ci_if_error: false flags: ${{ inputs.codecov-flag }}, ${{ matrix.dotnet-version }}, ${{ inputs.os }} - slug: ${{ inputs.codecov-slug }} + name: ${{ inputs.codecov-name }} diff --git a/.github/workflows/_dotnet-build-test-pack-publish-nuget.yml b/.github/workflows/_dotnet-build-test-pack-publish-nuget.yml index 42afc7a..6d09656 100644 --- a/.github/workflows/_dotnet-build-test-pack-publish-nuget.yml +++ b/.github/workflows/_dotnet-build-test-pack-publish-nuget.yml @@ -32,8 +32,8 @@ on: type: number required: false default: 50 - codecov-slug: - description: "Slug to upload code coverage results for Codecov. e.g. saan800/saansoft-correlationId" + codecov-name: + description: "Name to upload code coverage results for Codecov. e.g. saansoft-correlationId" required: false type: string codecov-flag: @@ -55,7 +55,7 @@ on: description: "API key for nuget.org. Required if upload-to-nuget is true" required: false CODECOV_TOKEN: - description: "Token for CodeCov. Required if codecov-slug is set" + description: "Token for CodeCov. Required if codecov-name is set" required: false permissions: @@ -89,7 +89,7 @@ jobs: os: ${{ inputs.os }} dotnet-version-matrix: ${{ inputs.dotnet-version-matrix }} dotnet-version: ${{ inputs.dotnet-version }} - codecov-slug: ${{ inputs.codecov-slug }} + codecov-name: ${{ inputs.codecov-name }} codecov-flag: ${{ inputs.codecov-flag }} secrets: inherit diff --git a/.github/workflows/dotnet-package-pr.yml b/.github/workflows/dotnet-package-pr.yml index 7eb2216..88380cc 100644 --- a/.github/workflows/dotnet-package-pr.yml +++ b/.github/workflows/dotnet-package-pr.yml @@ -40,8 +40,8 @@ on: type: number required: false default: 50 - codecov-slug: - description: "Slug to upload code coverage results for Codecov. e.g. saan800/saansoft-correlationId" + codecov-name: + description: "Name to upload code coverage results for Codecov. e.g. saansoft-correlationId" required: false type: string codecov-flag: @@ -54,7 +54,7 @@ on: description: "API key for nuget.org. Required if upload-to-nuget is true" required: false CODECOV_TOKEN: - description: "Token for CodeCov. Required if codecov-slug is set" + description: "Token for CodeCov. Required if codecov-name is set" required: false permissions: @@ -76,7 +76,7 @@ jobs: dotnet-version-matrix: ${{ inputs.dotnet-version-matrix }} dotnet-version: ${{ inputs.dotnet-version }} num-github-prerelease-packages-to-keep: ${{ inputs.num-github-prerelease-packages-to-keep }} - codecov-slug: ${{ inputs.codecov-slug }} + codecov-name: ${{ inputs.codecov-name }} codecov-flag: ${{ inputs.codecov-flag }} is-release-branch: false force-release: false diff --git a/.github/workflows/dotnet-package-release.yml b/.github/workflows/dotnet-package-release.yml index 57fab11..cade91a 100644 --- a/.github/workflows/dotnet-package-release.yml +++ b/.github/workflows/dotnet-package-release.yml @@ -32,8 +32,8 @@ on: type: number required: false default: 50 - codecov-slug: - description: "Slug to upload code coverage results for Codecov. e.g. saan800/saansoft-correlationId" + codecov-name: + description: "Name to upload code coverage results for Codecov. e.g. saansoft-correlationId" required: false type: string codecov-flag: @@ -55,7 +55,7 @@ on: description: "API key for nuget.org. Required if upload-to-nuget is true" required: false CODECOV_TOKEN: - description: "Token for CodeCov. Required if codecov-slug is set" + description: "Token for CodeCov. Required if codecov-name is set" required: false permissions: @@ -77,7 +77,7 @@ jobs: dotnet-version-matrix: ${{ inputs.dotnet-version-matrix }} dotnet-version: ${{ inputs.dotnet-version }} num-github-prerelease-packages-to-keep: ${{ inputs.num-github-prerelease-packages-to-keep }} - codecov-slug: ${{ inputs.codecov-slug }} + codecov-name: ${{ inputs.codecov-name }} codecov-flag: ${{ inputs.codecov-flag }} is-release-branch: ${{ inputs.is-release-branch }} force-release: ${{ inputs.force-release }} diff --git a/.github/workflows/dotnet-pr.yml b/.github/workflows/dotnet-pr.yml index 377832c..5863a3e 100644 --- a/.github/workflows/dotnet-pr.yml +++ b/.github/workflows/dotnet-pr.yml @@ -40,8 +40,8 @@ on: type: number required: false default: 50 - codecov-slug: - description: "Slug to upload code coverage results for Codecov. e.g. saan800/saansoft-correlationId" + codecov-name: + description: "Name to upload code coverage results for Codecov. e.g. saansoft-correlationId" required: false type: string codecov-flag: @@ -54,7 +54,7 @@ on: description: "API key for nuget.org. Required if upload-to-nuget is true" required: false CODECOV_TOKEN: - description: "Token for CodeCov. Required if codecov-slug is set" + description: "Token for CodeCov. Required if codecov-name is set" required: false permissions: @@ -72,8 +72,9 @@ jobs: os: ${{ inputs.os }} dotnet-version-matrix: ${{ inputs.dotnet-version-matrix }} dotnet-version: ${{ inputs.dotnet-version }} - codecov-slug: ${{ inputs.codecov-slug }} + codecov-name: ${{ inputs.codecov-name }} codecov-flag: ${{ inputs.codecov-flag }} + secrets: inherit pr-labels: permissions: diff --git a/.github/workflows/example-pr.yml b/.github/workflows/example-pr.yml index 29fc04f..6823a1b 100644 --- a/.github/workflows/example-pr.yml +++ b/.github/workflows/example-pr.yml @@ -30,6 +30,7 @@ jobs: working-directory: "./examples/NugetPackages" os: ubuntu-latest dotnet-version: 10.0.x + codecov-name: "example-dotnet-package" # is-release-branch: ${{ github.ref == 'refs/heads/main' }} for "release" workflows only # force-release: ${{ github.event.inputs.force-release || false }} for "release" workflows only secrets: inherit @@ -45,4 +46,5 @@ jobs: working-directory: "./examples/MinimalWebApi" os: "ubuntu-latest" dotnet-version: "10.0.x" + codecov-name: "example-minimal-web-api" secrets: inherit diff --git a/README.md b/README.md index 32970f4..4526ead 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ Restores, builds, and runs tests with optional framework matrix and Codecov uplo | `dotnet-version` | | `10.0.x` | SDK version (single build) | | `dotnet-version-matrix` | | | JSON array of `{dotnet-version, framework}` pairs for matrix builds | | `os` | | `ubuntu-latest` | Runner OS | -| `codecov-slug` | | | Repo slug for Codecov upload (skipped if empty) | +| `codecov-name` | | | Repo name for Codecov upload (skipped if empty) | | `codecov-flag` | | `unittests` | Codecov flag | | Secret | Required | Description | @@ -116,7 +116,7 @@ get-version ─┬─ check-release-eligibility | `dotnet-version` | | `10.0.x` | SDK version for pack/publish jobs | | `dotnet-version-matrix` | | | JSON matrix for the build-and-test job | | `os` | | `ubuntu-latest` | Runner OS | -| `codecov-slug` | | | Codecov repo slug | +| `codecov-name` | | | Codecov repo name | | `codecov-flag` | | `unittests` | Codecov flag | | `num-github-prerelease-packages-to-keep` | | `50` | GPR cleanup retention count | From 9ee7ed0f5736a2bf8a4024ef25c1446a4e219677 Mon Sep 17 00:00:00 2001 From: Sandra Greenhalgh Date: Fri, 3 Jul 2026 16:15:41 +0800 Subject: [PATCH 2/8] feat: codecov and testing --- .github/workflows/_dotnet-build-and-test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/_dotnet-build-and-test.yml b/.github/workflows/_dotnet-build-and-test.yml index 4263043..5d2f50a 100644 --- a/.github/workflows/_dotnet-build-and-test.yml +++ b/.github/workflows/_dotnet-build-and-test.yml @@ -194,3 +194,4 @@ jobs: directory: ./reports/coverage/ flags: ${{ inputs.codecov-flag }}, ${{ matrix.dotnet-version }}, ${{ inputs.os }} name: ${{ inputs.codecov-name }} + verbose: true From cec816791b8d9f7a2114b330e7b0e5f89864caa8 Mon Sep 17 00:00:00 2001 From: Sandra Greenhalgh Date: Fri, 3 Jul 2026 16:23:30 +0800 Subject: [PATCH 3/8] feat: codecov and testing --- .github/workflows/_dotnet-build-and-test.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/_dotnet-build-and-test.yml b/.github/workflows/_dotnet-build-and-test.yml index 5d2f50a..e1a7964 100644 --- a/.github/workflows/_dotnet-build-and-test.yml +++ b/.github/workflows/_dotnet-build-and-test.yml @@ -97,7 +97,7 @@ jobs: auth.docker.io:443 builds.dotnet.microsoft.com:443 cli.codecov.io:443 - ingest.codecov.io:433 + ingest.codecov.io:443 dotnetcli.azureedge.net:443 cognito-identity.us-east-1.amazonaws.com:443 crl.sectigo.com:443 @@ -105,6 +105,7 @@ jobs: crl4.digicert.com:443 dc.services.visualstudio.com:443 github.com:443 + keybase.io:443 ocsp.digicert.com:443 ocsp.sectigo.com:443 pinpoint.us-east-1.amazonaws.com:443 From bfccbe720e872b5807eadfa2bcf3571a3f0c410a Mon Sep 17 00:00:00 2001 From: Sandra Greenhalgh Date: Fri, 3 Jul 2026 16:27:13 +0800 Subject: [PATCH 4/8] feat: codecov and testing --- .github/workflows/_dotnet-build-and-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/_dotnet-build-and-test.yml b/.github/workflows/_dotnet-build-and-test.yml index e1a7964..3c047ad 100644 --- a/.github/workflows/_dotnet-build-and-test.yml +++ b/.github/workflows/_dotnet-build-and-test.yml @@ -192,7 +192,7 @@ jobs: with: fail_ci_if_error: true token: ${{ secrets.CODECOV_TOKEN }} - directory: ./reports/coverage/ + directory: ${{ inputs.working-directory }}/reports/coverage/ flags: ${{ inputs.codecov-flag }}, ${{ matrix.dotnet-version }}, ${{ inputs.os }} name: ${{ inputs.codecov-name }} verbose: true From 6590f703819926cf815de1bc82124e2a96383d68 Mon Sep 17 00:00:00 2001 From: Sandra Greenhalgh Date: Fri, 3 Jul 2026 17:38:22 +0800 Subject: [PATCH 5/8] feat: codecov and testing --- .claude/settings.json | 5 ++- .github/workflows/_dotnet-build-and-test.yml | 4 +- examples/MinimalWebApi/Directory.Build.props | 5 --- .../MinimalWebApi/Directory.Packages.props | 15 ++------ .../MinimalWebApi.Tests.Api.csproj | 4 -- .../packages.lock.json | 33 +++++++++++------ .../packages.lock.json | 28 ++++++++------ examples/NugetPackages/Directory.Build.props | 5 --- .../NugetPackages/Directory.Packages.props | 13 ++----- examples/NugetPackages/NugetPackages.slnx | 1 - .../NugetPackages.Tests.Alpha.csproj | 4 -- .../packages.lock.json | 37 ++++++++++++------- .../NugetPackages.Tests.Bravo.csproj | 4 -- .../packages.lock.json | 37 ++++++++++++------- 14 files changed, 97 insertions(+), 98 deletions(-) diff --git a/.claude/settings.json b/.claude/settings.json index 1cdbced..4658567 100644 --- a/.claude/settings.json +++ b/.claude/settings.json @@ -9,7 +9,10 @@ "Bash(git diff*)", "Bash(git status*)", "Bash(git show*)", - "Bash(git branch*)" + "Bash(git branch*)", + "mcp__claude_ai_Microsoft_Learn__microsoft_docs_search", + "mcp__claude_ai_Microsoft_Learn__microsoft_docs_fetch", + "mcp__claude_ai_Microsoft_Learn__microsoft_code_sample_search" ] }, "enabledPlugins": { diff --git a/.github/workflows/_dotnet-build-and-test.yml b/.github/workflows/_dotnet-build-and-test.yml index 3c047ad..800b1b6 100644 --- a/.github/workflows/_dotnet-build-and-test.yml +++ b/.github/workflows/_dotnet-build-and-test.yml @@ -174,7 +174,9 @@ jobs: --configuration Release \ $FRAMEWORK_ARG \ --report-github \ - /p:CollectCoverage=true + --coverage \ + --coverage-output-format cobertura \ + --results-directory ./reports/coverage/ ;; *) dotnet test \ diff --git a/examples/MinimalWebApi/Directory.Build.props b/examples/MinimalWebApi/Directory.Build.props index 3ca8cb8..104ad3f 100644 --- a/examples/MinimalWebApi/Directory.Build.props +++ b/examples/MinimalWebApi/Directory.Build.props @@ -24,11 +24,6 @@ CS1591;CS8602;CS8625;CS8618 - true - $([System.IO.Path]::Combine($(MSBuildProjectDirectory), "../../", 'reports', 'coverage'))/ - opencover,json - $(CoverletOutput)/coverage.json - [*.Tests.*]*,[xunit.*]* diff --git a/examples/MinimalWebApi/Directory.Packages.props b/examples/MinimalWebApi/Directory.Packages.props index bb87c25..94e41e1 100644 --- a/examples/MinimalWebApi/Directory.Packages.props +++ b/examples/MinimalWebApi/Directory.Packages.props @@ -1,13 +1,12 @@ - - + @@ -15,15 +14,9 @@ - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - + + all @@ -31,4 +24,4 @@ - \ No newline at end of file + diff --git a/examples/MinimalWebApi/tests/MinimalWebApi.Tests.Api/MinimalWebApi.Tests.Api.csproj b/examples/MinimalWebApi/tests/MinimalWebApi.Tests.Api/MinimalWebApi.Tests.Api.csproj index 8360536..cf9025b 100644 --- a/examples/MinimalWebApi/tests/MinimalWebApi.Tests.Api/MinimalWebApi.Tests.Api.csproj +++ b/examples/MinimalWebApi/tests/MinimalWebApi.Tests.Api/MinimalWebApi.Tests.Api.csproj @@ -4,10 +4,6 @@ true - - - - diff --git a/examples/MinimalWebApi/tests/MinimalWebApi.Tests.Api/packages.lock.json b/examples/MinimalWebApi/tests/MinimalWebApi.Tests.Api/packages.lock.json index d6a5787..dbc6bc8 100644 --- a/examples/MinimalWebApi/tests/MinimalWebApi.Tests.Api/packages.lock.json +++ b/examples/MinimalWebApi/tests/MinimalWebApi.Tests.Api/packages.lock.json @@ -8,18 +8,6 @@ "resolved": "9.4.0", "contentHash": "dJxkWiQ8D+xT6Gr2sSL83+Mar+Vpy2JTcUPxFcckpPJ8VYBfSgnk+zqpS6t7kcGnjz8NLyF14qfuoL4bKzzoew==" }, - "coverlet.collector": { - "type": "Direct", - "requested": "[8.0.1, )", - "resolved": "8.0.1", - "contentHash": "heVQl5tKYnnIDYlR1QMVGueYH6iriZTcZB6AjDczQNwZzxkjDIt9C84Pt4cCiZYrbo7jkZOYGWbs6Lo9wAtVLg==" - }, - "coverlet.msbuild": { - "type": "Direct", - "requested": "[8.0.1, )", - "resolved": "8.0.1", - "contentHash": "YkP5ZQBSwDno2uUdND/x0tmyLOacCxvKwSN2iEvndpw7OzBaH7STi2xeA06KKkyYHN0m76qDK8Pdz1CVdAPoeg==" - }, "GitHubActionsTestLogger": { "type": "Direct", "requested": "[3.0.4, )", @@ -36,6 +24,17 @@ "Microsoft.TestPlatform.TestHost": "18.6.0" } }, + "Microsoft.Testing.Extensions.CodeCoverage": { + "type": "Direct", + "requested": "[18.6.2, )", + "resolved": "18.6.2", + "contentHash": "vRDhB96XQyVdYFp4cQZOMz/lx0okfCdzTXPxGiuFhKx2yUL0FT/skTpnTv+7x13+tjNOcT39i2Ln3BYtslzf2w==", + "dependencies": { + "Microsoft.DiaSymReader": "2.2.5", + "Microsoft.Extensions.DependencyModel": "8.0.2", + "Microsoft.Testing.Platform": "2.1.0" + } + }, "Microsoft.Testing.Platform": { "type": "Direct", "requested": "[2.2.3, )", @@ -74,6 +73,16 @@ "resolved": "18.6.0", "contentHash": "bkmCXn/65Cd0LdO2zTb/ValGAJ1H8y/CgYOiBb3jsDyHI3Y1ljKx6RBvhvn3e5D/4R4I00RRwLf+Bd2Sn6bJjA==" }, + "Microsoft.DiaSymReader": { + "type": "Transitive", + "resolved": "2.2.5", + "contentHash": "Cq0DLpL8oQmXX3EUCClAYWDBy7Nf3Km6kmUw/eYWlYcTeC3g3Nekd/Z/ldsiy+Oi3xboanlQV9oaVCkgdLEhOQ==" + }, + "Microsoft.Extensions.DependencyModel": { + "type": "Transitive", + "resolved": "8.0.2", + "contentHash": "mUBDZZRgZrSyFOsJ2qJJ9fXfqd/kXJwf3AiDoqLD9m6TjY5OO/vLNOb9fb4juC0487eq4hcGN/M2Rh/CKS7QYw==" + }, "Microsoft.Testing.Extensions.Telemetry": { "type": "Transitive", "resolved": "2.0.2", diff --git a/examples/MinimalWebApi/tests/MinimalWebApi.Tests.Integration.Api/packages.lock.json b/examples/MinimalWebApi/tests/MinimalWebApi.Tests.Integration.Api/packages.lock.json index 7ff6dc7..bc94533 100644 --- a/examples/MinimalWebApi/tests/MinimalWebApi.Tests.Integration.Api/packages.lock.json +++ b/examples/MinimalWebApi/tests/MinimalWebApi.Tests.Integration.Api/packages.lock.json @@ -8,18 +8,6 @@ "resolved": "9.4.0", "contentHash": "dJxkWiQ8D+xT6Gr2sSL83+Mar+Vpy2JTcUPxFcckpPJ8VYBfSgnk+zqpS6t7kcGnjz8NLyF14qfuoL4bKzzoew==" }, - "coverlet.collector": { - "type": "Direct", - "requested": "[8.0.1, )", - "resolved": "8.0.1", - "contentHash": "heVQl5tKYnnIDYlR1QMVGueYH6iriZTcZB6AjDczQNwZzxkjDIt9C84Pt4cCiZYrbo7jkZOYGWbs6Lo9wAtVLg==" - }, - "coverlet.msbuild": { - "type": "Direct", - "requested": "[8.0.1, )", - "resolved": "8.0.1", - "contentHash": "YkP5ZQBSwDno2uUdND/x0tmyLOacCxvKwSN2iEvndpw7OzBaH7STi2xeA06KKkyYHN0m76qDK8Pdz1CVdAPoeg==" - }, "GitHubActionsTestLogger": { "type": "Direct", "requested": "[3.0.4, )", @@ -47,6 +35,17 @@ "Microsoft.TestPlatform.TestHost": "18.6.0" } }, + "Microsoft.Testing.Extensions.CodeCoverage": { + "type": "Direct", + "requested": "[18.6.2, )", + "resolved": "18.6.2", + "contentHash": "vRDhB96XQyVdYFp4cQZOMz/lx0okfCdzTXPxGiuFhKx2yUL0FT/skTpnTv+7x13+tjNOcT39i2Ln3BYtslzf2w==", + "dependencies": { + "Microsoft.DiaSymReader": "2.2.5", + "Microsoft.Extensions.DependencyModel": "8.0.2", + "Microsoft.Testing.Platform": "2.1.0" + } + }, "Microsoft.Testing.Platform": { "type": "Direct", "requested": "[2.2.3, )", @@ -90,6 +89,11 @@ "resolved": "18.6.0", "contentHash": "bkmCXn/65Cd0LdO2zTb/ValGAJ1H8y/CgYOiBb3jsDyHI3Y1ljKx6RBvhvn3e5D/4R4I00RRwLf+Bd2Sn6bJjA==" }, + "Microsoft.DiaSymReader": { + "type": "Transitive", + "resolved": "2.2.5", + "contentHash": "Cq0DLpL8oQmXX3EUCClAYWDBy7Nf3Km6kmUw/eYWlYcTeC3g3Nekd/Z/ldsiy+Oi3xboanlQV9oaVCkgdLEhOQ==" + }, "Microsoft.Extensions.Configuration": { "type": "Transitive", "resolved": "10.0.9", diff --git a/examples/NugetPackages/Directory.Build.props b/examples/NugetPackages/Directory.Build.props index f9f5f99..547a37e 100644 --- a/examples/NugetPackages/Directory.Build.props +++ b/examples/NugetPackages/Directory.Build.props @@ -41,11 +41,6 @@ CS1591;CS8602;CS8625;CS8618 - true - $([System.IO.Path]::Combine($(MSBuildProjectDirectory), "../../", 'reports', 'coverage'))/ - opencover,json - $(CoverletOutput)/coverage.json - [NugetPackages.Tests.*]*,[xunit.*]* diff --git a/examples/NugetPackages/Directory.Packages.props b/examples/NugetPackages/Directory.Packages.props index 9cd4ac2..34aa56e 100644 --- a/examples/NugetPackages/Directory.Packages.props +++ b/examples/NugetPackages/Directory.Packages.props @@ -1,25 +1,18 @@ - - + - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/examples/NugetPackages/NugetPackages.slnx b/examples/NugetPackages/NugetPackages.slnx index 6dff004..04a2deb 100644 --- a/examples/NugetPackages/NugetPackages.slnx +++ b/examples/NugetPackages/NugetPackages.slnx @@ -4,7 +4,6 @@ - diff --git a/examples/NugetPackages/tests/NugetPackages.Tests.Alpha/NugetPackages.Tests.Alpha.csproj b/examples/NugetPackages/tests/NugetPackages.Tests.Alpha/NugetPackages.Tests.Alpha.csproj index a9c480a..5d5fd4a 100644 --- a/examples/NugetPackages/tests/NugetPackages.Tests.Alpha/NugetPackages.Tests.Alpha.csproj +++ b/examples/NugetPackages/tests/NugetPackages.Tests.Alpha/NugetPackages.Tests.Alpha.csproj @@ -4,10 +4,6 @@ true - - - - diff --git a/examples/NugetPackages/tests/NugetPackages.Tests.Alpha/packages.lock.json b/examples/NugetPackages/tests/NugetPackages.Tests.Alpha/packages.lock.json index e750237..2df3621 100644 --- a/examples/NugetPackages/tests/NugetPackages.Tests.Alpha/packages.lock.json +++ b/examples/NugetPackages/tests/NugetPackages.Tests.Alpha/packages.lock.json @@ -8,18 +8,6 @@ "resolved": "9.4.0", "contentHash": "dJxkWiQ8D+xT6Gr2sSL83+Mar+Vpy2JTcUPxFcckpPJ8VYBfSgnk+zqpS6t7kcGnjz8NLyF14qfuoL4bKzzoew==" }, - "coverlet.collector": { - "type": "Direct", - "requested": "[8.0.1, )", - "resolved": "8.0.1", - "contentHash": "heVQl5tKYnnIDYlR1QMVGueYH6iriZTcZB6AjDczQNwZzxkjDIt9C84Pt4cCiZYrbo7jkZOYGWbs6Lo9wAtVLg==" - }, - "coverlet.msbuild": { - "type": "Direct", - "requested": "[8.0.1, )", - "resolved": "8.0.1", - "contentHash": "YkP5ZQBSwDno2uUdND/x0tmyLOacCxvKwSN2iEvndpw7OzBaH7STi2xeA06KKkyYHN0m76qDK8Pdz1CVdAPoeg==" - }, "GitHubActionsTestLogger": { "type": "Direct", "requested": "[3.0.4, )", @@ -36,6 +24,17 @@ "Microsoft.TestPlatform.TestHost": "18.7.0" } }, + "Microsoft.Testing.Extensions.CodeCoverage": { + "type": "Direct", + "requested": "[18.7.0, )", + "resolved": "18.7.0", + "contentHash": "i7ifcFK6lzM5BHaROS4O7SAkk7L/gAeOwZxs3pyhn8hW73ZDTwQppovXNJL1bm1JBXL69HuI4DO5NzU8rhzIiA==", + "dependencies": { + "Microsoft.DiaSymReader": "2.2.6", + "Microsoft.Extensions.DependencyModel": "8.0.2", + "Microsoft.Testing.Platform": "2.2.1" + } + }, "xunit.runner.visualstudio": { "type": "Direct", "requested": "[3.1.5, )", @@ -68,6 +67,16 @@ "resolved": "18.7.0", "contentHash": "+wFfx9s7D9wegM0RziXMj2kvYDT4qcqXXtyjiQwSZOGQ2wwcOAJQcD6eQXk02jt0MvRNawtp8TJxTrV+wD8X1g==" }, + "Microsoft.DiaSymReader": { + "type": "Transitive", + "resolved": "2.2.6", + "contentHash": "UitZ43WYJQYmcuScLEDTR95EGulBwk2R4N2zLBhaka8frXGVioa6Bkcbc5Fib8UkHIdrnN1lyzOublenrfpgxA==" + }, + "Microsoft.Extensions.DependencyModel": { + "type": "Transitive", + "resolved": "8.0.2", + "contentHash": "mUBDZZRgZrSyFOsJ2qJJ9fXfqd/kXJwf3AiDoqLD9m6TjY5OO/vLNOb9fb4juC0487eq4hcGN/M2Rh/CKS7QYw==" + }, "Microsoft.Testing.Extensions.Telemetry": { "type": "Transitive", "resolved": "2.0.2", @@ -180,8 +189,8 @@ "Microsoft.Testing.Platform": { "type": "CentralTransitive", "requested": "[2.1.0, )", - "resolved": "2.0.2", - "contentHash": "43NCOTEENtdc9fmlzX9KHQR14AZEYek5r4jOJlWPhTyV1+aYAQYl4x773nYXU5TKxV6+rMuniJ7wcj9C9qrP1A==" + "resolved": "2.2.1", + "contentHash": "9bbPuls/b6/vUFzxbSjJLZlJHyKBfOZE5kjIY+ITI2ASqlFPJhR83BdLydJeQOCLEZhEbrEcz5xtt1B69nwSVg==" } } } diff --git a/examples/NugetPackages/tests/NugetPackages.Tests.Bravo/NugetPackages.Tests.Bravo.csproj b/examples/NugetPackages/tests/NugetPackages.Tests.Bravo/NugetPackages.Tests.Bravo.csproj index 84347b6..bd3c10d 100644 --- a/examples/NugetPackages/tests/NugetPackages.Tests.Bravo/NugetPackages.Tests.Bravo.csproj +++ b/examples/NugetPackages/tests/NugetPackages.Tests.Bravo/NugetPackages.Tests.Bravo.csproj @@ -4,10 +4,6 @@ true - - - - diff --git a/examples/NugetPackages/tests/NugetPackages.Tests.Bravo/packages.lock.json b/examples/NugetPackages/tests/NugetPackages.Tests.Bravo/packages.lock.json index 649b84e..2ea3764 100644 --- a/examples/NugetPackages/tests/NugetPackages.Tests.Bravo/packages.lock.json +++ b/examples/NugetPackages/tests/NugetPackages.Tests.Bravo/packages.lock.json @@ -8,18 +8,6 @@ "resolved": "9.4.0", "contentHash": "dJxkWiQ8D+xT6Gr2sSL83+Mar+Vpy2JTcUPxFcckpPJ8VYBfSgnk+zqpS6t7kcGnjz8NLyF14qfuoL4bKzzoew==" }, - "coverlet.collector": { - "type": "Direct", - "requested": "[8.0.1, )", - "resolved": "8.0.1", - "contentHash": "heVQl5tKYnnIDYlR1QMVGueYH6iriZTcZB6AjDczQNwZzxkjDIt9C84Pt4cCiZYrbo7jkZOYGWbs6Lo9wAtVLg==" - }, - "coverlet.msbuild": { - "type": "Direct", - "requested": "[8.0.1, )", - "resolved": "8.0.1", - "contentHash": "YkP5ZQBSwDno2uUdND/x0tmyLOacCxvKwSN2iEvndpw7OzBaH7STi2xeA06KKkyYHN0m76qDK8Pdz1CVdAPoeg==" - }, "GitHubActionsTestLogger": { "type": "Direct", "requested": "[3.0.4, )", @@ -36,6 +24,17 @@ "Microsoft.TestPlatform.TestHost": "18.7.0" } }, + "Microsoft.Testing.Extensions.CodeCoverage": { + "type": "Direct", + "requested": "[18.7.0, )", + "resolved": "18.7.0", + "contentHash": "i7ifcFK6lzM5BHaROS4O7SAkk7L/gAeOwZxs3pyhn8hW73ZDTwQppovXNJL1bm1JBXL69HuI4DO5NzU8rhzIiA==", + "dependencies": { + "Microsoft.DiaSymReader": "2.2.6", + "Microsoft.Extensions.DependencyModel": "8.0.2", + "Microsoft.Testing.Platform": "2.2.1" + } + }, "xunit.runner.visualstudio": { "type": "Direct", "requested": "[3.1.5, )", @@ -68,6 +67,16 @@ "resolved": "18.7.0", "contentHash": "+wFfx9s7D9wegM0RziXMj2kvYDT4qcqXXtyjiQwSZOGQ2wwcOAJQcD6eQXk02jt0MvRNawtp8TJxTrV+wD8X1g==" }, + "Microsoft.DiaSymReader": { + "type": "Transitive", + "resolved": "2.2.6", + "contentHash": "UitZ43WYJQYmcuScLEDTR95EGulBwk2R4N2zLBhaka8frXGVioa6Bkcbc5Fib8UkHIdrnN1lyzOublenrfpgxA==" + }, + "Microsoft.Extensions.DependencyModel": { + "type": "Transitive", + "resolved": "8.0.2", + "contentHash": "mUBDZZRgZrSyFOsJ2qJJ9fXfqd/kXJwf3AiDoqLD9m6TjY5OO/vLNOb9fb4juC0487eq4hcGN/M2Rh/CKS7QYw==" + }, "Microsoft.Testing.Extensions.Telemetry": { "type": "Transitive", "resolved": "2.0.2", @@ -180,8 +189,8 @@ "Microsoft.Testing.Platform": { "type": "CentralTransitive", "requested": "[2.1.0, )", - "resolved": "2.0.2", - "contentHash": "43NCOTEENtdc9fmlzX9KHQR14AZEYek5r4jOJlWPhTyV1+aYAQYl4x773nYXU5TKxV6+rMuniJ7wcj9C9qrP1A==" + "resolved": "2.2.1", + "contentHash": "9bbPuls/b6/vUFzxbSjJLZlJHyKBfOZE5kjIY+ITI2ASqlFPJhR83BdLydJeQOCLEZhEbrEcz5xtt1B69nwSVg==" } } } From ec6fc4f5d603c0c3d89a95cbe39919d5a554cf95 Mon Sep 17 00:00:00 2001 From: Sandra Greenhalgh Date: Fri, 3 Jul 2026 18:00:17 +0800 Subject: [PATCH 6/8] fix: codecov and testing --- .github/workflows/_dotnet-build-and-test.yml | 9 +++++++++ .../MinimalWebApi.Tests.Integration.Api.csproj | 1 - 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/_dotnet-build-and-test.yml b/.github/workflows/_dotnet-build-and-test.yml index 800b1b6..795ee60 100644 --- a/.github/workflows/_dotnet-build-and-test.yml +++ b/.github/workflows/_dotnet-build-and-test.yml @@ -177,6 +177,15 @@ jobs: --coverage \ --coverage-output-format cobertura \ --results-directory ./reports/coverage/ + + # MTP names coverage files ".cobertura.xml", which Codecov's + # file auto-discovery does not recognize (it only matches exactly + # "cobertura.xml" or filenames containing "coverage"). Rename in place so + # the upload step's `directory:` search actually finds them. + for f in ./reports/coverage/*.cobertura.xml; do + [ -e "$f" ] || continue + mv "$f" "$(dirname "$f")/coverage.$(basename "$f")" + done ;; *) dotnet test \ diff --git a/examples/MinimalWebApi/tests/MinimalWebApi.Tests.Integration.Api/MinimalWebApi.Tests.Integration.Api.csproj b/examples/MinimalWebApi/tests/MinimalWebApi.Tests.Integration.Api/MinimalWebApi.Tests.Integration.Api.csproj index e472728..6ce10e7 100644 --- a/examples/MinimalWebApi/tests/MinimalWebApi.Tests.Integration.Api/MinimalWebApi.Tests.Integration.Api.csproj +++ b/examples/MinimalWebApi/tests/MinimalWebApi.Tests.Integration.Api/MinimalWebApi.Tests.Integration.Api.csproj @@ -5,7 +5,6 @@ - From dcffb37edeacc26328ec951c3eff6933057bba0a Mon Sep 17 00:00:00 2001 From: Sandra Greenhalgh Date: Fri, 3 Jul 2026 18:05:26 +0800 Subject: [PATCH 7/8] fix: codecov and testing --- .github/workflows/_dotnet-build-and-test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/_dotnet-build-and-test.yml b/.github/workflows/_dotnet-build-and-test.yml index 795ee60..87268d5 100644 --- a/.github/workflows/_dotnet-build-and-test.yml +++ b/.github/workflows/_dotnet-build-and-test.yml @@ -112,6 +112,7 @@ jobs: production.cloudflare.docker.com:443 registry-1.docker.io:443 s.symcb.com:443 + storage.googleapis.com:443 ts-crl.ws.symantec.com:443 ts-ocsp.ws.symantec.com:443 www.microsoft.com:443 From 6bb0a8760b1e2eb08f5a825753de4e2b30149ff3 Mon Sep 17 00:00:00 2001 From: Sandra Greenhalgh Date: Fri, 3 Jul 2026 19:05:34 +0800 Subject: [PATCH 8/8] fix: codecov and testing --- .github/dependabot.yml | 6 +-- .github/workflows/_dotnet-build-and-test.yml | 1 - .github/workflows/example-pr.yml | 9 ----- README.md | 3 ++ .../MinimalWebApi/Directory.Packages.props | 4 +- .../packages.lock.json | 38 +++++++++---------- .../packages.lock.json | 38 +++++++++---------- .../NugetPackages/Directory.Packages.props | 2 +- .../packages.lock.json | 2 +- .../packages.lock.json | 2 +- 10 files changed, 48 insertions(+), 57 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index ddf9453..4ce47f2 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -40,7 +40,7 @@ updates: prefix: "dependencies(nuget): " labels: - "dependencies" - open-pull-requests-limit: 5 + open-pull-requests-limit: 10 allow: - dependency-type: direct - dependency-type: indirect @@ -54,7 +54,6 @@ updates: testing: patterns: - "AwesomeAssertions*" - - "coverlet*" - "GitHubActionsTestLogger" - "xunit*" update-types: ["minor", "patch"] @@ -67,7 +66,7 @@ updates: prefix: "dependencies(nuget): " labels: - "dependencies" - open-pull-requests-limit: 5 + open-pull-requests-limit: 10 allow: - dependency-type: direct - dependency-type: indirect @@ -81,7 +80,6 @@ updates: testing: patterns: - "AwesomeAssertions*" - - "coverlet*" - "GitHubActionsTestLogger" - "xunit*" update-types: ["minor", "patch"] diff --git a/.github/workflows/_dotnet-build-and-test.yml b/.github/workflows/_dotnet-build-and-test.yml index 87268d5..c7aabad 100644 --- a/.github/workflows/_dotnet-build-and-test.yml +++ b/.github/workflows/_dotnet-build-and-test.yml @@ -207,4 +207,3 @@ jobs: directory: ${{ inputs.working-directory }}/reports/coverage/ flags: ${{ inputs.codecov-flag }}, ${{ matrix.dotnet-version }}, ${{ inputs.os }} name: ${{ inputs.codecov-name }} - verbose: true diff --git a/.github/workflows/example-pr.yml b/.github/workflows/example-pr.yml index 6823a1b..7f34ffe 100644 --- a/.github/workflows/example-pr.yml +++ b/.github/workflows/example-pr.yml @@ -2,13 +2,6 @@ name: example-pr on: pull_request: - workflow_dispatch: # 👈 manual trigger here to release - should only be on "release" workflows, not "pr" workflows - inputs: - force-release: - description: "Force a release regardless of PR labels or branch" - type: boolean - required: false - default: false permissions: actions: read @@ -31,8 +24,6 @@ jobs: os: ubuntu-latest dotnet-version: 10.0.x codecov-name: "example-dotnet-package" - # is-release-branch: ${{ github.ref == 'refs/heads/main' }} for "release" workflows only - # force-release: ${{ github.event.inputs.force-release || false }} for "release" workflows only secrets: inherit dotnet-minimal-web-api-pr: diff --git a/README.md b/README.md index 4526ead..5b3cfdc 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ # github +[![codecov](https://codecov.io/gh/saan800/github/graph/badge.svg?token=WWF9NNOGJ0)](https://codecov.io/gh/saan800/github) + + Reusable GitHub Actions workflow templates for .NET projects, with reference example implementations. ## Reusable Workflow Templates diff --git a/examples/MinimalWebApi/Directory.Packages.props b/examples/MinimalWebApi/Directory.Packages.props index 94e41e1..86851e0 100644 --- a/examples/MinimalWebApi/Directory.Packages.props +++ b/examples/MinimalWebApi/Directory.Packages.props @@ -4,9 +4,9 @@ - + - + diff --git a/examples/MinimalWebApi/tests/MinimalWebApi.Tests.Api/packages.lock.json b/examples/MinimalWebApi/tests/MinimalWebApi.Tests.Api/packages.lock.json index dbc6bc8..8c226d3 100644 --- a/examples/MinimalWebApi/tests/MinimalWebApi.Tests.Api/packages.lock.json +++ b/examples/MinimalWebApi/tests/MinimalWebApi.Tests.Api/packages.lock.json @@ -16,23 +16,23 @@ }, "Microsoft.NET.Test.Sdk": { "type": "Direct", - "requested": "[18.6.0, )", - "resolved": "18.6.0", - "contentHash": "kAIBt0MsYR0o2RULmlW5BhQ1ha50aGEgLKG4f1p0kePBGLJCprqs3S+NxRrYN8UH7mSQRPKpeiH9mwPMEKUObQ==", + "requested": "[18.7.0, )", + "resolved": "18.7.0", + "contentHash": "49xH9j4UzCh2hMohJp53g3wUTvyycECw7CtVht4gfCz5ykudB1uBcF6D0TtgJPjCtP76UPW53bQElKdCeX+dUg==", "dependencies": { - "Microsoft.CodeCoverage": "18.6.0", - "Microsoft.TestPlatform.TestHost": "18.6.0" + "Microsoft.CodeCoverage": "18.7.0", + "Microsoft.TestPlatform.TestHost": "18.7.0" } }, "Microsoft.Testing.Extensions.CodeCoverage": { "type": "Direct", - "requested": "[18.6.2, )", - "resolved": "18.6.2", - "contentHash": "vRDhB96XQyVdYFp4cQZOMz/lx0okfCdzTXPxGiuFhKx2yUL0FT/skTpnTv+7x13+tjNOcT39i2Ln3BYtslzf2w==", + "requested": "[18.7.0, )", + "resolved": "18.7.0", + "contentHash": "i7ifcFK6lzM5BHaROS4O7SAkk7L/gAeOwZxs3pyhn8hW73ZDTwQppovXNJL1bm1JBXL69HuI4DO5NzU8rhzIiA==", "dependencies": { - "Microsoft.DiaSymReader": "2.2.5", + "Microsoft.DiaSymReader": "2.2.6", "Microsoft.Extensions.DependencyModel": "8.0.2", - "Microsoft.Testing.Platform": "2.1.0" + "Microsoft.Testing.Platform": "2.2.1" } }, "Microsoft.Testing.Platform": { @@ -70,13 +70,13 @@ }, "Microsoft.CodeCoverage": { "type": "Transitive", - "resolved": "18.6.0", - "contentHash": "bkmCXn/65Cd0LdO2zTb/ValGAJ1H8y/CgYOiBb3jsDyHI3Y1ljKx6RBvhvn3e5D/4R4I00RRwLf+Bd2Sn6bJjA==" + "resolved": "18.7.0", + "contentHash": "+wFfx9s7D9wegM0RziXMj2kvYDT4qcqXXtyjiQwSZOGQ2wwcOAJQcD6eQXk02jt0MvRNawtp8TJxTrV+wD8X1g==" }, "Microsoft.DiaSymReader": { "type": "Transitive", - "resolved": "2.2.5", - "contentHash": "Cq0DLpL8oQmXX3EUCClAYWDBy7Nf3Km6kmUw/eYWlYcTeC3g3Nekd/Z/ldsiy+Oi3xboanlQV9oaVCkgdLEhOQ==" + "resolved": "2.2.6", + "contentHash": "UitZ43WYJQYmcuScLEDTR95EGulBwk2R4N2zLBhaka8frXGVioa6Bkcbc5Fib8UkHIdrnN1lyzOublenrfpgxA==" }, "Microsoft.Extensions.DependencyModel": { "type": "Transitive", @@ -110,15 +110,15 @@ }, "Microsoft.TestPlatform.ObjectModel": { "type": "Transitive", - "resolved": "18.6.0", - "contentHash": "gQTW4BIfM2ZLxixo9ITXoulLKjn20FiiHtqTsx9PENqTrX7368ZeJ5L0QZJyReXDWORPRV8jXwZR6Aar8JOyaA==" + "resolved": "18.7.0", + "contentHash": "6rmgU4q3/WOpOPcncI0YW0Q/QpcQtwR2TTEXDR5+4TfSimPBAk6Z/BgKLeGgp1SOun0ROVUCCafXhRLwsHaPpA==" }, "Microsoft.TestPlatform.TestHost": { "type": "Transitive", - "resolved": "18.6.0", - "contentHash": "em1eLz5Q46+hsCtAXdXggWAPd9gQyT4ngdsQ7k1eWvQgpsjtS/wAOJ/5TteieFdiAvrEq1iVn00LtusAxRaVmQ==", + "resolved": "18.7.0", + "contentHash": "kYwfmebCs8992zaxEDkvG7S+YEouTeKfYVKUFEkwh1W2dIoOaevBt80XSKVXCUFEhusjOIm1sFfHBnoJgygrRA==", "dependencies": { - "Microsoft.TestPlatform.ObjectModel": "18.6.0", + "Microsoft.TestPlatform.ObjectModel": "18.7.0", "Newtonsoft.Json": "13.0.3" } }, diff --git a/examples/MinimalWebApi/tests/MinimalWebApi.Tests.Integration.Api/packages.lock.json b/examples/MinimalWebApi/tests/MinimalWebApi.Tests.Integration.Api/packages.lock.json index bc94533..4ea32a6 100644 --- a/examples/MinimalWebApi/tests/MinimalWebApi.Tests.Integration.Api/packages.lock.json +++ b/examples/MinimalWebApi/tests/MinimalWebApi.Tests.Integration.Api/packages.lock.json @@ -27,23 +27,23 @@ }, "Microsoft.NET.Test.Sdk": { "type": "Direct", - "requested": "[18.6.0, )", - "resolved": "18.6.0", - "contentHash": "kAIBt0MsYR0o2RULmlW5BhQ1ha50aGEgLKG4f1p0kePBGLJCprqs3S+NxRrYN8UH7mSQRPKpeiH9mwPMEKUObQ==", + "requested": "[18.7.0, )", + "resolved": "18.7.0", + "contentHash": "49xH9j4UzCh2hMohJp53g3wUTvyycECw7CtVht4gfCz5ykudB1uBcF6D0TtgJPjCtP76UPW53bQElKdCeX+dUg==", "dependencies": { - "Microsoft.CodeCoverage": "18.6.0", - "Microsoft.TestPlatform.TestHost": "18.6.0" + "Microsoft.CodeCoverage": "18.7.0", + "Microsoft.TestPlatform.TestHost": "18.7.0" } }, "Microsoft.Testing.Extensions.CodeCoverage": { "type": "Direct", - "requested": "[18.6.2, )", - "resolved": "18.6.2", - "contentHash": "vRDhB96XQyVdYFp4cQZOMz/lx0okfCdzTXPxGiuFhKx2yUL0FT/skTpnTv+7x13+tjNOcT39i2Ln3BYtslzf2w==", + "requested": "[18.7.0, )", + "resolved": "18.7.0", + "contentHash": "i7ifcFK6lzM5BHaROS4O7SAkk7L/gAeOwZxs3pyhn8hW73ZDTwQppovXNJL1bm1JBXL69HuI4DO5NzU8rhzIiA==", "dependencies": { - "Microsoft.DiaSymReader": "2.2.5", + "Microsoft.DiaSymReader": "2.2.6", "Microsoft.Extensions.DependencyModel": "8.0.2", - "Microsoft.Testing.Platform": "2.1.0" + "Microsoft.Testing.Platform": "2.2.1" } }, "Microsoft.Testing.Platform": { @@ -86,13 +86,13 @@ }, "Microsoft.CodeCoverage": { "type": "Transitive", - "resolved": "18.6.0", - "contentHash": "bkmCXn/65Cd0LdO2zTb/ValGAJ1H8y/CgYOiBb3jsDyHI3Y1ljKx6RBvhvn3e5D/4R4I00RRwLf+Bd2Sn6bJjA==" + "resolved": "18.7.0", + "contentHash": "+wFfx9s7D9wegM0RziXMj2kvYDT4qcqXXtyjiQwSZOGQ2wwcOAJQcD6eQXk02jt0MvRNawtp8TJxTrV+wD8X1g==" }, "Microsoft.DiaSymReader": { "type": "Transitive", - "resolved": "2.2.5", - "contentHash": "Cq0DLpL8oQmXX3EUCClAYWDBy7Nf3Km6kmUw/eYWlYcTeC3g3Nekd/Z/ldsiy+Oi3xboanlQV9oaVCkgdLEhOQ==" + "resolved": "2.2.6", + "contentHash": "UitZ43WYJQYmcuScLEDTR95EGulBwk2R4N2zLBhaka8frXGVioa6Bkcbc5Fib8UkHIdrnN1lyzOublenrfpgxA==" }, "Microsoft.Extensions.Configuration": { "type": "Transitive", @@ -405,15 +405,15 @@ }, "Microsoft.TestPlatform.ObjectModel": { "type": "Transitive", - "resolved": "18.6.0", - "contentHash": "gQTW4BIfM2ZLxixo9ITXoulLKjn20FiiHtqTsx9PENqTrX7368ZeJ5L0QZJyReXDWORPRV8jXwZR6Aar8JOyaA==" + "resolved": "18.7.0", + "contentHash": "6rmgU4q3/WOpOPcncI0YW0Q/QpcQtwR2TTEXDR5+4TfSimPBAk6Z/BgKLeGgp1SOun0ROVUCCafXhRLwsHaPpA==" }, "Microsoft.TestPlatform.TestHost": { "type": "Transitive", - "resolved": "18.6.0", - "contentHash": "em1eLz5Q46+hsCtAXdXggWAPd9gQyT4ngdsQ7k1eWvQgpsjtS/wAOJ/5TteieFdiAvrEq1iVn00LtusAxRaVmQ==", + "resolved": "18.7.0", + "contentHash": "kYwfmebCs8992zaxEDkvG7S+YEouTeKfYVKUFEkwh1W2dIoOaevBt80XSKVXCUFEhusjOIm1sFfHBnoJgygrRA==", "dependencies": { - "Microsoft.TestPlatform.ObjectModel": "18.6.0", + "Microsoft.TestPlatform.ObjectModel": "18.7.0", "Newtonsoft.Json": "13.0.3" } }, diff --git a/examples/NugetPackages/Directory.Packages.props b/examples/NugetPackages/Directory.Packages.props index 34aa56e..de94447 100644 --- a/examples/NugetPackages/Directory.Packages.props +++ b/examples/NugetPackages/Directory.Packages.props @@ -4,7 +4,7 @@ - + diff --git a/examples/NugetPackages/tests/NugetPackages.Tests.Alpha/packages.lock.json b/examples/NugetPackages/tests/NugetPackages.Tests.Alpha/packages.lock.json index 2df3621..3bf2cb6 100644 --- a/examples/NugetPackages/tests/NugetPackages.Tests.Alpha/packages.lock.json +++ b/examples/NugetPackages/tests/NugetPackages.Tests.Alpha/packages.lock.json @@ -188,7 +188,7 @@ }, "Microsoft.Testing.Platform": { "type": "CentralTransitive", - "requested": "[2.1.0, )", + "requested": "[2.2.3, )", "resolved": "2.2.1", "contentHash": "9bbPuls/b6/vUFzxbSjJLZlJHyKBfOZE5kjIY+ITI2ASqlFPJhR83BdLydJeQOCLEZhEbrEcz5xtt1B69nwSVg==" } diff --git a/examples/NugetPackages/tests/NugetPackages.Tests.Bravo/packages.lock.json b/examples/NugetPackages/tests/NugetPackages.Tests.Bravo/packages.lock.json index 2ea3764..22f74e7 100644 --- a/examples/NugetPackages/tests/NugetPackages.Tests.Bravo/packages.lock.json +++ b/examples/NugetPackages/tests/NugetPackages.Tests.Bravo/packages.lock.json @@ -188,7 +188,7 @@ }, "Microsoft.Testing.Platform": { "type": "CentralTransitive", - "requested": "[2.1.0, )", + "requested": "[2.2.3, )", "resolved": "2.2.1", "contentHash": "9bbPuls/b6/vUFzxbSjJLZlJHyKBfOZE5kjIY+ITI2ASqlFPJhR83BdLydJeQOCLEZhEbrEcz5xtt1B69nwSVg==" }