Skip to content

chore(renovate): cap Microsoft.Build packages below 18.10.0 - #6863

Merged
thomhurst merged 1 commit into
mainfrom
chore/renovate-cap-msbuild
Sep 22, 2026
Merged

thomhurst merged 1 commit into
mainfrom
chore/renovate-cap-msbuild

Conversation

@thomhurst

@thomhurst thomhurst commented Sep 22, 2026 •

Copy link
Copy Markdown
Owner

Microsoft.Build 18.10.x ships only net11.0/net472 runtime assets, so net10.0 consumers such as TUnit.Mocks.InternalsAccess.Tests can't load it (23 tests fail with FileNotFoundException). Pinning only some projects to 18.9.6 then fails restore with NU1605.

This caps the Microsoft.Build family below 18.10.0 until the repo targets net11.0. Supersedes #6772.

Summary by CodeRabbit

  • Chores
    • Updated dependency management to prevent incompatible Microsoft build tooling versions from being selected.
    • Microsoft.Build packages and Microsoft.NET.StringTools are now limited to versions below 18.10.0.

18.10.x ships only net11.0/net472 runtime assets, so net10.0 consumers
(e.g. TUnit.Mocks.InternalsAccess.Tests) fail to load it. See #6772.
@thomhurst
thomhurst deployed to Pull Requests September 22, 2026 20:28 — with GitHub Actions Active
@thomhurst
thomhurst deployed to Pull Requests September 22, 2026 20:28 — with GitHub Actions Active
@thomhurst
thomhurst deployed to Pull Requests September 22, 2026 20:28 — with GitHub Actions Active
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 22, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-22T20:33:03.979200Z 68128ea PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@coderabbitai

coderabbitai Bot commented Sep 22, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 37f574a2-3fc1-4e51-a85e-8d11600756bb

📥 Commits

Reviewing files that changed from the base of the PR and between 8176071 and 68128ea.

📒 Files selected for processing (1)
  • renovate.json

Included review availability: Your plan provides up to 8 included reviews per hour; 2 remain after this review.


📝 Walkthrough

Walkthrough

The Renovate configuration now restricts four Microsoft packages to versions below 18.10.0. The rule prevents upgrades to versions with only net11.0 and net472 runtime assets.

Changes

Package Version Guard

Layer / File(s) Summary
Renovate version rule
renovate.json
Adds a packageRules entry that limits Microsoft.Build, Microsoft.Build.Framework, Microsoft.Build.Utilities.Core, and Microsoft.NET.StringTools to versions below 18.10.0.

Priority: ➖ Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

Merge Risk: ⚪ Minimal · up to 68128

The package guard is narrowly scoped and presents no actionable merge-blocking risk.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: limiting Microsoft.Build package versions below 18.10.0 in Renovate.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

A rabbit guards the package gate
Builds below eighteen point ten wait
New runtime paths stay out of sight
Net ten keeps running right
Renovate hops past the upgrade tonight

Comment @coderabbitai help to get the list of available commands.

@thomhurst
thomhurst merged commit ddf4804 into main Sep 22, 2026
13 checks passed
@thomhurst
thomhurst deleted the chore/renovate-cap-msbuild branch September 22, 2026 20:36
@github-actions

Copy link
Copy Markdown
Contributor

Code Review: PR #6863 — cap Microsoft.Build packages below 18.10.0

Scope: Single 12-line addition to renovate.json, adding a packageRules entry that caps Microsoft.Build, Microsoft.Build.Framework, Microsoft.Build.Utilities.Core, and Microsoft.NET.StringTools to <18.10.0. No source code, generator, or execution-path changes are involved.

Verification performed:

  • Confirmed renovate.json is valid JSON with the new packageRules entry correctly formed.
  • Cross-checked existing references to these four package IDs (Directory.Packages.props, tests/TUnit.Mocks.InternalsAccess.Tests/*.csproj, src/TUnit.Mocks.InternalsAccess.Tasks/*.csproj, benchmarks/TUnit.SourceGenerator.Benchmarks/*.csproj). All are already pinned to 18.9.6 (or 18.10.1 for Microsoft.NET.StringTools in the benchmarks project, which uses ExcludeAssets=\"runtime\" and is therefore unaffected by the net10.0 runtime-asset problem this PR guards against). The new Renovate rule is consistent with, and simply codifies at the tooling level, pins that already exist in-repo for the reasons documented in those .csproj comments (compile-time-only MSBuild host assemblies needing both net472 and net8.0 assets).
  • Checked matchPackageNames/allowedVersions syntax against Renovate's schema — standard, well-formed pattern.
  • Considered whether <18.10.0 could still let a 18.10.0-preview slip through, but Renovate's default ignoreUnstable: true (not overridden here) prevents proposing prereleases against an already-stable pin, so this isn't a realistic failure path.
  • No behavior is removed and no in-repo consumers are affected by a Renovate config change.

Result: No correctness, design, or maintainability issues found. This is a well-scoped, low-risk config change consistent with its stated rationale and the existing pins/comments elsewhere in the repo. Approving.

This was referenced Sep 22, 2026
This was referenced Sep 25, 2026

This branch was successfully deployed

1 active deployment
Pull Requests — 68128ea9 Deployed Sep 22, 2026 by thomhurst via modularpipeline (macos-latest) #19458
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