Skip to content

Commit 05bdb69

Browse files
wormeymanclaude
andauthored
Hold the xunit-dotnet monorepo on 3.x until the test host is migrated (#112)
Renovate proposed xunit.v3 4.0.0 and xunit.runner.visualstudio 4.0.0 in #108. Both .NET test jobs failed, identically on CI and on a local Mac: Microsoft.Testing.Platform.MSBuild.targets(320,5): error : Testing with VSTest target is no longer supported by Microsoft.Testing.Platform on .NET 10 SDK and later. If you use dotnet test, you should opt-in to the new dotnet test experience. xunit.v3 4.0.0 depends on xunit.v3.mtp-v2 [4.0.0, 4.0.0], which pulls Microsoft.Testing.Platform 2.x, and MTP 2 drops the VSTest bridge on the .NET 10 SDK. So this is a test-host migration, not a version bump: the test project has to opt into the new `dotnet test`, and ci.yml's two .NET jobs both pass `--logger "console;verbosity=normal"`, which is VSTest syntax MTP does not accept. #111 has the full checklist. The ceiling is <4.0.0 rather than `enabled: false`, matching every other hold in this file - patches inside 3.x keep flowing and only the major is blocked. Without it the bot re-proposes v4 every Monday, which is the exact re-litigation the header of this file says the holds exist to prevent. This is the seventh hold, so the count in the header moves with it, and the tracking-issue list gains the migration-shaped entry. Verified with the validator the file's own comment calls for: npx --yes --package renovate -- renovate-config-validator .github/renovate.json5 INFO: Config validated successfully against 1 file(s) Verify.XunitV3 32.0.0 is unaffected and merged separately in #106 - both .NET test jobs passed on it. Claude-Session: https://claude.ai/code/session_01DAVZSEbjCkr9sbumdMPKy2 Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent 6128c71 commit 05bdb69

1 file changed

Lines changed: 29 additions & 1 deletion

File tree

.github/renovate.json5

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// Dependency automation for this repo. Renovate, not Dependabot: this project has
2-
// six deliberate HOLDS whose reasoning lives in prose - in .csproj comments and
2+
// seven deliberate HOLDS whose reasoning lives in prose - in .csproj comments and
33
// CLAUDE.md - and Dependabot's `ignore` entries cannot express any of them. The
44
// point of everything below is to stop a bot cheerfully re-proposing, every week,
55
// the exact bump this project has already considered and rejected; and, where a
@@ -206,6 +206,7 @@
206206
// plan lives in an issue and the rule points at it:
207207
// typescript ............... #49 (upstream-gated: vue-tsc vs TS 7)
208208
// WebApp OpenAPI stack ..... #47 (OpenApi 10.x + Swashbuckle 10.x)
209+
// xunit-dotnet monorepo .... #111 (migrate to the new `dotnet test`)
209210
//
210211
// The Verify family used to be listed here against #44. That migration
211212
// landed - the test project is on xunit v3 + Verify.XunitV3 - so the version
@@ -330,6 +331,33 @@
330331
"This family's failure mode BUILDS CLEANLY and dies at runtime, so a compiling branch is not evidence. Run the full `dotnet test` before believing any bump here.",
331332
],
332333
},
334+
{
335+
// Tracking issue: #111. Migration-shaped, and unlike the Verify rule above
336+
// this one fails LOUDLY at build time, which is the easier kind. Renovate
337+
// proposed v4 in #108 and both .NET test jobs failed identically on CI and
338+
// on a local Mac:
339+
//
340+
// Microsoft.Testing.Platform.MSBuild.targets(320,5): error : Testing with
341+
// VSTest target is no longer supported by Microsoft.Testing.Platform on
342+
// .NET 10 SDK and later. If you use dotnet test, you should opt-in to the
343+
// new dotnet test experience.
344+
//
345+
// The chain is xunit.v3 4.0.0 -> xunit.v3.mtp-v2 [4.0.0, 4.0.0] ->
346+
// Microsoft.Testing.Platform 2.x, which drops the VSTest bridge on the .NET
347+
// 10 SDK. So this is not a bump, it is a test-host migration: the project
348+
// has to opt into the new `dotnet test`, and ci.yml's two .NET jobs both
349+
// pass `--logger "console;verbosity=normal"`, which is VSTest syntax that
350+
// MTP does not accept. #111 has the full checklist.
351+
//
352+
// Ceiling is <4.0.0 rather than `enabled: false` so patches inside 3.x keep
353+
// flowing while the migration waits. Raise it as part of #111, not before.
354+
description:
355+
"HOLD the xunit-dotnet monorepo on 3.x. xunit.v3 4.0.0 pulls xunit.v3.mtp-v2 and Microsoft.Testing.Platform 2.x, which no longer supports the VSTest target on the .NET 10 SDK, so `dotnet test` fails at build time. Lifting this means migrating the test project to the new dotnet test experience and replacing the VSTest-only arguments in ci.yml - tracked in #111. Patches within 3.x still flow; the hold is on the major.",
356+
matchManagers: ["nuget"],
357+
matchPackageNames: ["xunit.v3", "xunit.runner.visualstudio"],
358+
groupName: "xunit-dotnet monorepo",
359+
allowedVersions: "<4.0.0",
360+
},
333361
{
334362
// No tracking issue by design - this is a "not worth the review" call rather
335363
// than a deferred upgrade, and it reverses on its own if WebApp is hosted

0 commit comments

Comments
 (0)