build: migrate from .NET 9 to .NET 10 (LTS)#147
Conversation
41732e8 to
a1c3b7b
Compare
|
CI: Build/Tests skipped (docs-only change detected). Pack pending. Local verification: unit tests (6790 passed, 3 pre-existing failures), selftests (638 passed, 1 pre-existing failure). |
|
Why did you select .NET 9 instead of .NET 10 to pin to? any reason to stick with older, or should we roll forward? |
there aren't any preexisting failures. i'm still tracking down some flake tests (should be around 92% reliable). If the tests pass on re-run, it's flakey - don't bother tracking it down, I have a multi-hour stress run trying to track down the flakey tests. if it doesn't pass on re-run, it's a regression |
As in the PR description most important projects used 9, hence 9.:
dotnet 10.x is preferrable as it's LTS. Refer https://versionsof.net/core/. |
4b83ff2 to
b293b5b
Compare
b293b5b to
4b83ff2
Compare
|
Weird - i see the comment history saying you've updated to .NET 10, but the commits in the PR still only show the .NET 9 version?? is that a github bug or... ? |
Upgrade all 101 projects from net9.0 to net10.0, pin SDK via global.json (10.0.100 / latestFeature), update CI workflows, docs, templates, benchmark scripts, and test infrastructure paths. Fix C# 14 'field' keyword conflict in ValidationContext by renaming tuple variable. Fix SKILL.md ProjectReference path (..\Reactor\ -> ..\src\Reactor\). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
4b83ff2 to
76d0075
Compare
|
@codemonkeychris Thanks for the clarification on flaky tests. While investigating, I discovered 3 locale-specific test failures that reproduce consistently on machines with non-US locales (e.g.
All 3 reproduce identically on unmodified |
Looks like copilot was awaiting my approval. Tests succeeded so I merged it. |
What
Migrate the entire repo from .NET 9 to .NET 10 (LTS) as suggested by @codemonkeychris — rolling forward to the current LTS release rather than staying on .NET 9 (STS, EOL May 2026).
Why .NET 10 instead of .NET 9?
windows-latestships with 10.0 SDK pre-installed; without a global.json pin, builds were already silently picking it up.Changes
SDK & TFM (101 projects)
csprojfiles:net9.0-windows10.0.22621.0→net10.0-windows10.0.22621.0(5 samples were already on net10.0)global.jsonpinning SDK to10.0.100withlatestFeatureroll-forwardCI Workflows
ci.yml,coverage.yml,release.yml:dotnet-version: 9.0.x→10.0.xnet10.0TFMC# 14 Compatibility
ValidationContext.cs: renamedfield→fieldNamein tuple deconstructions inside a property getter (fieldis a keyword in C# 14)Documentation & Templates
getting-started.md.dt,readme.md.dt) and compiled guides updatedai-author-skill.md,013-doc-system-design.md: prerequisite references updatedTest Infrastructure & Benchmarks
TestSession.cs,WinFormsTestSession.cs,SelfTestBatch.cs: hardcoded TFM paths updatedBug Fix (drive-by)
SKILL.md: correctedProjectReferencepath (..\Reactor\→..\src\Reactor\)Verification
main, locale PR forthcoming)FlexInBorder_MainAxisDistributed(pre-existing onmain)