Bump Actions past Node 20, add analyzer release tracking, fix CS8604#75
Open
NicholasMTElliott wants to merge 1 commit into
Open
Bump Actions past Node 20, add analyzer release tracking, fix CS8604#75NicholasMTElliott wants to merge 1 commit into
NicholasMTElliott wants to merge 1 commit into
Conversation
…CS8604 Chasing down the warnings the 8.0.0-preview.1 release run surfaced. Actions (all now run on Node 24-compatible majors — fixes Node 20 deprecation): - actions/checkout v4 → v6 - actions/setup-dotnet v4 → v5 - actions/cache v4 → v5 - actions/upload-artifact v4 → v7 - docker/setup-buildx-action v3 → v4 - docker/build-push-action v5 → v7 Analyzer release tracking (silences RS2008 "Enable analyzer release tracking for rule JSG00x" at consumer builds): - Add AnalyzerReleases.Shipped.md with JSG001–JSG008 entries under "Release 8.0.0" - Add AnalyzerReleases.Unshipped.md as the rolling staging file for future rules - Register both as <AdditionalFiles> so Microsoft.CodeAnalysis.Analyzers reads them - Suppress RS2003 at project scope — fires because IIncrementalGenerator has no SupportedDiagnostics surface for the validator to match rule IDs against; safe to ignore for source generators Code: fix CS8604 in ExpanderGenerator.cs:1065 — null-coalesce propertyTypeName before HashSet<string>.Contains, matching the identical pattern already in use on line 1128. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cleanup pass addressing the three warning categories the 8.0.0-preview.1 release run surfaced.
Changes
GitHub Actions bumps (fixes Node 20 deprecation)
The release run warned that `actions/checkout@v4` and `actions/setup-dotnet@v4` still run on Node 20 (deprecation enforcement starts June 2026). Bumping all Actions to the latest majors at once:
Analyzer release tracking
The release run fired `RS2008` for every generator diagnostic (JSG001–JSG008) asking them to be tracked. Added `AnalyzerReleases.Shipped.md` (all eight rules under `## Release 8.0.0`) and a stub `AnalyzerReleases.Unshipped.md` for future additions. Registered both as `` so the tracking analyzer reads them.
Side-effect: the tracker then fired `RS2003` ("rule not declared on any analyzer") for each rule, because `IIncrementalGenerator` has no `SupportedDiagnostics` surface. Suppressed at project scope with a comment explaining why.
CS8604 nullref fix
`ExpanderGenerator.cs:1065` computed `propertyTypeName = itemType?.ToDisplayString().Replace("?", "")` and passed it directly to `HashSet.Contains` — potentially-null argument. Applied the same `?? ""` coalesce already in use on the sibling function at line 1128.
Test plan
🤖 Generated with Claude Code