Fix vendored-files manifest paths for relocated source-gen helpers#9336
Conversation
The scheduled vendored-source check failed because three manifest entries pointed at MSTest.SourceGeneration/Helpers files removed by refactoring (#8586, #9118): - Repoint source-gen-equatable-array to src/Analyzers/Shared/EquatableArray.cs. - Repoint symbol-visibility to the surviving analyzers copy and rename id to analyzers-symbol-visibility. - Remove redundant source-gen-system-polyfills (NotNullWhenAttribute vendored content was dropped; same upstream NullableAttributes.cs is already tracked by polyfill-nullable-attributes). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Note
Copilot couldn't run its full agentic review because no GitHub Actions runner was available. Make sure your repository has a runner available to run Copilot's review, or add a copilot-setup-steps.yml file specifying one with the runs-on attribute. See the docs for more details.
Fixes eng/vendored-files.json entries that referenced source-gen helper files that were relocated/removed, unblocking the “Check vendored source files” workflow.
Changes:
- Removed the obsolete
source-gen-system-polyfillsvendored entry. - Repointed SymbolVisibility tracking to the remaining analyzers copy and renamed its manifest id.
- Repointed the EquatableArray entry to the new shared location.
Show a summary per file
| File | Description |
|---|---|
| eng/vendored-files.json | Updates/removes vendored manifest entries to match current source layout for generator/analyzer helpers. |
Copilot's findings
- Files reviewed: 1/1 changed files
- Comments generated: 1
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Evangelink
left a comment
There was a problem hiding this comment.
Note
🤖 Automated review by GitHub Copilot. Posted via a maintainer's GitHub token, so it appears under their account — the account owner did not write or approve this content personally. Generated by the Expert Code Review workflow. To request a follow-up action, reply by tagging @copilot directly.
✅ 22/22 dimensions clean — no findings.
Scope: single file changed (eng/vendored-files.json) — a JSON metadata manifest with no C# code. Dimensions 1–12 (correctness, threading, security, API compat, performance, cross-TFM, resource management, defensive coding, localization, test isolation, assertion quality, flakiness) and 14–19 (data-driven tests, code structure, naming of source identifiers, documentation of source methods, analyzer quality, IPC wire compat) are N/A for a manifest-only change. Dimensions 20 (build infrastructure) and 21 (scope discipline) are the actionable ones; both are clean.
Verification performed:
| Check | Result |
|---|---|
python .github/scripts/check_vendored_files.py validate |
Manifest OK: 19 entries, 20 sources. (exit 0) |
src/Analyzers/MSTest.Analyzers/RoslynAnalyzerHelpers/SymbolVisibility.cs exists |
✅ |
src/Analyzers/Shared/EquatableArray.cs exists |
✅ |
Old paths (MSTest.SourceGeneration/Helpers/{SystemPolyfills,SymbolVisibility,EquatableArray{T}}.cs) absent from repo |
✅ |
No remaining references to old IDs (source-gen-*) in any JSON/YAML/MD |
✅ |
New IDs follow <component>-<description> convention used by all other entries |
✅ |
Rationale quality: The notes fields are accurate and informative. The source-gen-system-polyfills removal is well-justified — the same upstream NullableAttributes.cs is already tracked by the pre-existing polyfill-nullable-attributes entry; removing the duplicate avoids split-tracking of a single upstream file. Both remaining renames are correctly cross-referenced to their originating PRs (#8586, #9118).
🔴 Build Failure AnalysisThe build fails with 4 errors (all the same root cause), but this PR did not introduce the failure. Root Cause — Stale XLF translation fileFailing project: The Origin — not this PRBoth This PR only modifies Fix (must be applied to the base branch, not this PR)Run dotnet msbuild src/Platform/Microsoft.Testing.Platform/Microsoft.Testing.Platform.csproj /t:UpdateXlfThen commit the regenerated
|
Problem
The scheduled Check vendored source files workflow (run 27944937795) failed in the
Validate vendored-files.jsonstep. Three manifest entries ineng/vendored-files.jsonpointed atsrc/Analyzers/MSTest.SourceGeneration/Helpers/files that no longer exist — they were moved/removed by earlier refactoring PRs (#8586, #9118):SystemPolyfills.csSymbolVisibility.csEquatableArray{T}.csFix
source-gen-equatable-array→ repointed tosrc/Analyzers/Shared/EquatableArray.cs(vendored ComputeSharp struct, now shared across generators per Share single EquatableArray<T> across source generators #9118).source-gen-symbol-visibility→ repointed to the surviving copy of the same upstream file atsrc/Analyzers/MSTest.Analyzers/RoslynAnalyzerHelpers/SymbolVisibility.cs; id renamed toanalyzers-symbol-visibility.source-gen-system-polyfills→ removed. Its vendoredNotNullWhenAttributecontent was dropped entirely (only a locally-authoredIsExternalInitshim remains), and the same upstreamNullableAttributes.csis already tracked by the existingpolyfill-nullable-attributesentry.Verification
python .github/scripts/check_vendored_files.py validatenow reportsManifest OK: 19 entries, 20 sources.