Skip to content

Hold three dependency lines where their pins require, until each constraint lifts - #757

Merged
TheSevenPens merged 2 commits into
masterfrom
chore/defer-test-tooling-majors
Sep 18, 2026
Merged

TheSevenPens merged 2 commits into
masterfrom
chore/defer-test-tooling-majors

Conversation

@TheSevenPens

@TheSevenPens TheSevenPens commented Sep 18, 2026

Copy link
Copy Markdown
Owner

Follow-up to triaging the first Dependabot batches. Three ignore rules, each stating a constraint that is already written on the PackageReference it applies to.

Grouping by coupling (#752) fixed the deadlock but only half the problem: Dependabot now proposes coupled packages together, which is what makes a constraint reviewable — but it still picks the latest version of each, not the one the sibling requires.

1. Test tooling — blocked on a migration (#756)

The grouped PR (#748) bumped four packages, all majors. It built fine and the logic suite passed; it failed at UI smoke tests:

Testing with VSTest target is no longer supported by Microsoft.Testing.Platform on .NET 10 SDK and later.

That line has moved to Microsoft Testing Platform, and on the .NET 10 SDK the VSTest bridge dotnet test relies on is gone. It's a migration, tracked in #756, not a version bump — and all four being majors means there's nothing partial to take.

2. SkiaSharp — must track Avalonia

Its pin exists to match what Avalonia.Skia pulls; the PackageReference comment says so. Regrouped, Dependabot put it in the Avalonia PR as asked — and proposed 4.152.1 against an Avalonia that ships 3.119.x.

That one restores cleanly (4.152.1 satisfies Avalonia's >= 3.119.4), so it wouldn't fail loudly. It would just quietly take the project off the version the pin exists to hold it to. With majors ignored, the grouped PR lands on 3.119.4 — the version Avalonia actually asks for.

3. MessagePack — security floor on the 2.5.x line

Pinned above what StreamJsonRpc pulls transitively (NU1903, GHSA-hv8m-jj95-wg3x) and deliberately held on 2.5.x for compatibility. The regenerated rpc PR proposed 3.1.9, a major, which breaks that.

Scope

Majors only. Minor and patch updates come through for all of these, so security and bug fixes on the current lines are unaffected — which for MessagePack is the whole reason its pin exists.

None is permanent, and each says what removes it: #756's acceptance criteria include deleting the test-tooling block; SkiaSharp's revisits when Avalonia moves to 4; MessagePack's when the 2.5.x constraint goes.

Why bother

Left ungated these return monthly and can't be merged. A recurring red PR is one people learn to scroll past — which is how a genuinely important update gets missed later.

🤖 Generated with Claude Code

The next majors of xunit, Microsoft.NET.Test.Sdk and coverlet move the whole
stack to Microsoft Testing Platform, and on the .NET 10 SDK that drops the
VSTest bridge `dotnet test` relies on. Dependabot's grouped PR (#748) built
fine and passed the logic suite, then failed the UI smoke tests with
"Testing with VSTest target is no longer supported" -- so it is a migration,
tracked in #756, not a version bump. All four are majors, so there is no
partial upgrade to take either.

Left ungated, that same unmergeable PR comes back every month and becomes
noise people learn to scroll past -- which is how a genuinely important
update gets missed later. Majors for this group are ignored until #756
lands; minor and patch updates still come through.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Grouping by coupling (#752) fixed the deadlock but only half the problem.
Dependabot now proposes coupled packages together, which is what makes the
constraint reviewable -- but it still picks the latest version of each, not
the one the sibling requires.

So the regenerated PRs were coherent and still wrong: the Avalonia group
proposed SkiaSharp 4.152.1 against an Avalonia that ships 3.119.x, and the
rpc group proposed MessagePack 3.1.9 against a pin deliberately held on
2.5.x. Both restore cleanly -- 4.152.1 satisfies Avalonia's ">= 3.119.4" --
so neither fails loudly; they would simply take the project off the versions
those pins exist to hold it to.

Both constraints are already written on the PackageReferences. This states
them where Dependabot can act on them: majors ignored, minors and patches
unaffected. With SkiaSharp held to 3.x the grouped Avalonia PR lands on
3.119.4, which is the version Avalonia asks for and the one the csproj
comment describes.

Neither is permanent. SkiaSharp's revisits when Avalonia moves to 4;
MessagePack's when the 2.5.x compatibility constraint goes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@TheSevenPens TheSevenPens changed the title Defer the test-tooling majors until the MTP migration (#756) Hold three dependency lines where their pins require, until each constraint lifts Sep 18, 2026
@TheSevenPens
TheSevenPens merged commit 119df24 into master Sep 18, 2026
4 checks passed
@TheSevenPens
TheSevenPens deleted the chore/defer-test-tooling-majors branch September 18, 2026 17:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant