-
Notifications
You must be signed in to change notification settings - Fork 50
Description
🤖 This is an automated draft PR from Repo Assist.
Summary
Adds a global.json at the repository root to pin the .NET SDK to 10.0.x.
Problem
Without a global.json, any .NET SDK version installed on the machine is used to build the project. This creates two risks:
- Version drift between machines — a developer on SDK 10.0.200 and the CI on 10.0.102 may see subtly different compiler diagnostics, code generation, or NuGet resolution behaviour.
- Accidental forward jumps — once .NET 11 SDKs are installed alongside .NET 10, builds silently switch to .NET 11 without anyone noticing, until something breaks.
Fix
{
"sdk": {
"version": "10.0.102",
"rollForward": "latestFeature"
}
}rollForward: latestFeature means:
- ✅ Patch updates (
10.0.103,10.0.200) are accepted automatically — no manualglobal.jsonbump for routine SDK updates. - ✅ Feature bands within .NET 10 (
10.0.200,10.0.300) are accepted. - ❌ A jump to .NET 11 requires an explicit version update in
global.json— intentional breakage prevention.
This matches the approach recommended by the .NET team for reproducible builds and is standard practice in mature .NET repositories.
Test Status
✅ dotnet --version reports 10.0.102 — global.json resolves correctly.
✅ All 503 shared tests pass, 18 skipped (infrastructure). dotnet test tests/OpenClaw.Shared.Tests/
✅ All 93 Tray tests pass. dotnet test tests/OpenClaw.Tray.Tests/
Generated by Repo Assist · ◷
To install this agentic workflow, run
gh aw add githubnext/agentics/workflows/repo-assist.md@cbb46ab386962aa371045839fc9998ee4e97ca64
Warning
🛡️ Protected Files
This was originally intended as a pull request, but the patch modifies protected files: global.json.
These files may affect project dependencies, CI/CD pipelines, or agent behaviour. Please review the changes carefully before creating the pull request.
Click here to create the pull request once you have reviewed the changes
To route changes like this to a review issue instead of blocking, configure protected-files: fallback-to-issue in your workflow configuration.