Skip to content

[Repo Assist] eng: add global.json to pin .NET SDK to 10.0.x (rollForward: latestFeature) #106

@github-actions

Description

@github-actions

🤖 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:

  1. 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.
  2. 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 manual global.json bump 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.102global.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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions