Skip to content

chore(renovate): drop dead self-version tokens to break publish-loop - #98

Merged
ANcpLua merged 1 commit into
mainfrom
chore/renovate-drop-dead-version-tokens
May 5, 2026
Merged

chore(renovate): drop dead self-version tokens to break publish-loop#98
ANcpLua merged 1 commit into
mainfrom
chore/renovate-drop-dead-version-tokens

Conversation

@ANcpLua

@ANcpLua ANcpLua commented May 5, 2026

Copy link
Copy Markdown
Owner

Summary

  • Remove four <PropertyGroup> entries in Version.props for ANcpLuaRoslynUtilities*Version (Roslyn.Utilities, Sources, Polyfills, Testing). Nothing in this repo consumes them — Directory.Packages.props has zero ANcpLua.* PackageVersion entries and grep finds no $(ANcpLuaRoslynUtilities*Version) substitution. They were a copy artifact from the SDK template.
  • Reduce renovate.json to extends-only by deleting the ^ANcpLua\\. blanket-disable packageRules. It existed to break the loop these dead tokens caused.

Why

The shared ANcpLua/renovate-config preset has customManagers regexes that match <ANcpLuaRoslynUtilities*Version> in Version.props. Each merge to main auto-bumps the published patch via git describe + nuget-publish.yml, so Renovate would see e.g. 2.0.8 on NuGet, open a PR to update Version.props to 2.0.8, and the merge of that PR would auto-bump again to 2.0.9 — a self-perpetuating Renovate-merge loop. The local override blocked it but with a misleading "self-test pin" description; the real culprit was these dead tokens.

With them gone the regex finds nothing here, the loop dissolves, and the override is unnecessary.

Test plan

  • Directory.Packages.props import chain inspected — no consumer of removed tokens
  • find . -name "*.props" -o -name "*.targets" | xargs grep 'Import.*Version\.props' — only Directory.Packages.props imports it
  • grep for $(ANcpLuaRoslynUtilities in csproj/props/targets — only ANcpLuaRoslynUtilitiesNamespace (unrelated)
  • eng/ and .github/ reads of these tokens — none
  • CI green

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Removed unused version properties from build configuration files, streamlining the project's build setup.

Version.props declared four ANcpLuaRoslynUtilities*Version PropertyGroups
(Roslyn.Utilities, Sources, Polyfills, Testing) that nothing in this repo
consumes — Directory.Packages.props has zero ANcpLua.* PackageVersion
entries and no csproj substitutes $(ANcpLuaRoslynUtilities*Version). They
existed only as a copy artifact from the SDK template.

The shared renovate-config preset's customManagers regex still matched
those tokens here, so each merge — which auto-bumps the published patch
via git describe + the publish workflow — produced a Renovate PR to bump
Version.props to the new published version, which on merge auto-bumped
again, looping forever. Hence the local packageRules blanket-disable on
^ANcpLua\\.

With the tokens gone the regex finds nothing, the loop dissolves, and
the local override is unnecessary. renovate.json is now extends-only.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 5, 2026 05:55
@ANcpLua
ANcpLua enabled auto-merge (squash) May 5, 2026 05:56
@coderabbitai

coderabbitai Bot commented May 5, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: e662e84b-b868-42fc-8a26-72c9f27e70af

📥 Commits

Reviewing files that changed from the base of the PR and between e96e1e9 and 1f1491c.

⛔ Files ignored due to path filters (1)
  • renovate.json is excluded by none and included by none
📒 Files selected for processing (1)
  • Version.props
💤 Files with no reviewable changes (1)
  • Version.props
📜 Recent review details
⏰ Context from checks skipped due to timeout of 180000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: Agent
  • GitHub Check: build (ubuntu-latest)
  • GitHub Check: build (windows-latest)
  • GitHub Check: claude-review

📝 Walkthrough

Walkthrough

Version.props has four MSBuild PropertyGroup sections removed that previously defined Roslyn utilities-related version constants: ANcpLuaRoslynUtilitiesVersion, ANcpLuaRoslynUtilitiesSourcesVersion, ANcpLuaRoslynUtilitiesPolyfillsVersion, and ANcpLuaRoslynUtilitiesTestingVersion. These properties are deleted without replacement, resulting in a net reduction of 28 lines. The property hierarchy now transitions directly from the top-level Roslyn group to Analyzer Testing.

🚥 Pre-merge checks | ✅ 8 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
No Null-Forgiving Operator Without Justification ⚠️ Warning 35 null-forgiving operators (!) added in C# files lack inline comments. Found in 21 files: AotReflection attributes/generators, Testing utilities, and Roslyn.Utilities extensions. Add inline comments after each ! explaining why null-suppression is necessary and safe at that location.
✅ Passed checks (8 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed Title follows conventional commits format (chore prefix), is under 72 chars (68), contains no trailing period, and accurately describes the core change: removing unused version tokens.
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.
No Datetime.Now/Utcnow ✅ Passed Scanned all 192 added C# files for DateTime.Now/UtcNow. Zero violations found. TimeProvider polyfill correctly uses DateTimeOffset.UtcNow.
No .Result/.Wait() Blocking Async ✅ Passed No blocking async patterns found. All .Result usages reference data properties on non-async structures (Channel entries, ResultWithDiagnostics types), not Task blocking calls.
No Isourcegenerator ✅ Passed No ISourceGenerator interfaces found across 192 C# files scanned in this PR. Check requirement satisfied.
Sources Public Types Must Be Internal ✅ Passed No C# files in src/ANcpLua.Roslyn.Utilities.Sources/. Directory contains only MSBuild config, scripts, and docs. Check requirement cannot apply.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


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

@github-actions

github-actions Bot commented May 5, 2026

Copy link
Copy Markdown

@coderabbitai autofix

@claude

claude Bot commented May 5, 2026

Copy link
Copy Markdown

Claude encountered an error —— View job


I'll analyze this and get back to you.

@coderabbitai

coderabbitai Bot commented May 5, 2026

Copy link
Copy Markdown

Note

Autofix is a beta feature. Expect some limitations and changes as we gather feedback and continue to improve it.

Autofix skipped. No unresolved CodeRabbit review comments with fix instructions found.

@ANcpLua
ANcpLua merged commit 2de526b into main May 5, 2026
19 of 22 checks passed
@ANcpLua
ANcpLua deleted the chore/renovate-drop-dead-version-tokens branch May 5, 2026 05:57
@ANcpLua
ANcpLua removed the request for review from Copilot May 5, 2026 06:20
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