Fix vendored-files manifest paths for relocated source-gen helpers - #9336

Merged
Amaury Levé (Evangelink) merged 2 commits into
mainfrom
fix/vendored-files-manifest-paths
Jun 22, 2026
Merged

Fix vendored-files manifest paths for relocated source-gen helpers#9336
Amaury Levé (Evangelink) merged 2 commits into
mainfrom
fix/vendored-files-manifest-paths

Conversation

@Evangelink

Copy link
Copy Markdown
Member

Problem

The scheduled Check vendored source files workflow (run 27944937795) failed in the Validate vendored-files.json step. Three manifest entries in eng/vendored-files.json pointed at src/Analyzers/MSTest.SourceGeneration/Helpers/ files that no longer exist — they were moved/removed by earlier refactoring PRs (#8586, #9118):

  • SystemPolyfills.cs
  • SymbolVisibility.cs
  • EquatableArray{T}.cs

Fix

  • source-gen-equatable-array → repointed to src/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 at src/Analyzers/MSTest.Analyzers/RoslynAnalyzerHelpers/SymbolVisibility.cs; id renamed to analyzers-symbol-visibility.
  • source-gen-system-polyfillsremoved. Its vendored NotNullWhenAttribute content was dropped entirely (only a locally-authored IsExternalInit shim remains), and the same upstream NullableAttributes.cs is already tracked by the existing polyfill-nullable-attributes entry.

Verification

python .github/scripts/check_vendored_files.py validate now reports Manifest OK: 19 entries, 20 sources.

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>
CopilotAI review requested due to automatic review settings June 22, 2026 11:16

CopilotAI 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.

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-polyfills vendored 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
FileDescription
eng/vendored-files.jsonUpdates/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

Comment threadeng/vendored-files.json Outdated
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

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:

CheckResult
python .github/scripts/check_vendored_files.py validateManifest 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).

@Evangelink

Copy link
Copy Markdown
MemberAuthor

🔴 Build Failure Analysis

The build fails with 4 errors (all the same root cause), but this PR did not introduce the failure.


Root Cause — Stale XLF translation file

'OutputDevice/Terminal/xlf/TerminalResources.cs.xlf' is out-of-date
with 'OutputDevice/Terminal/TerminalResources.resx'

Failing project:src/Platform/Microsoft.Testing.Platform/Microsoft.Testing.Platform.csproj
Target:_UpdateXlf
Task:UpdateXlf (from microsoft.dotnet.xlifftasks)

The XliffTasks CI check detects that TerminalResources.cs.xlf is out of sync with TerminalResources.resx and fails the build to prevent untracked resource changes from silently shipping. The error fires 3 times (once per project evaluation for multiple target frameworks) plus a final Build failed..


Origin — not this PR

Both TerminalResources.resx (55 string resources) and all xlf/TerminalResources.*.xlf files were newly added in the base-branch commit ed7797b ("Add orchestrator TestInProgress/TestDiscovered overloads for SDK parity #9294"). The XLF was hand-authored or generated by a different tool, and its content does not byte-for-byte match what XliffTasks /t:UpdateXlf would produce — causing this CI check to fail.

This PR only modifies eng/vendored-files.json and does not touch any of the Terminal resource or XLF files:

eng/vendored-files.json ← only file changed by this PR

Fix (must be applied to the base branch, not this PR)

Run UpdateXlf on the owning project to regenerate all XLF files from the RESX:

dotnet msbuild src/Platform/Microsoft.Testing.Platform/Microsoft.Testing.Platform.csproj /t:UpdateXlf

Then commit the regenerated xlf/TerminalResources.*.xlf files (all 13 language variants live under src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/). Once that fix lands on the base branch and this PR is rebased/updated on top of it, the build will pass.

Note: Per repo guidelines, XLF files must never be hand-edited — always regenerate them via /t:UpdateXlf.

🤖 Automated content 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 Build Failure Analysis workflow. · 465.3 AIC · ⌖ 12.7 AIC · ⊞ 46.9K · [◷]( · )

@Evangelink
Amaury Levé (Evangelink) merged commit 8c3e689 into mainJun 22, 2026
34 of 41 checks passed
@Evangelink
Amaury Levé (Evangelink) deleted the fix/vendored-files-manifest-paths branch June 22, 2026 12:34
Sign up for freeto 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.

2 participants

@Evangelink
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Fix vendored-files manifest paths for relocated source-gen helpers - #9336

Merged
Amaury Levé (Evangelink) merged 2 commits into
mainfrom
fix/vendored-files-manifest-paths
Jun 22, 2026
Merged

Fix vendored-files manifest paths for relocated source-gen helpers#9336
Amaury Levé (Evangelink) merged 2 commits into
mainfrom
fix/vendored-files-manifest-paths

Conversation

@Evangelink

Copy link
Copy Markdown
Member

Problem

The scheduled Check vendored source files workflow (run 27944937795) failed in the Validate vendored-files.json step. Three manifest entries in eng/vendored-files.json pointed at src/Analyzers/MSTest.SourceGeneration/Helpers/ files that no longer exist — they were moved/removed by earlier refactoring PRs (#8586, #9118):

  • SystemPolyfills.cs
  • SymbolVisibility.cs
  • EquatableArray{T}.cs

Fix

  • source-gen-equatable-array → repointed to src/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 at src/Analyzers/MSTest.Analyzers/RoslynAnalyzerHelpers/SymbolVisibility.cs; id renamed to analyzers-symbol-visibility.
  • source-gen-system-polyfillsremoved. Its vendored NotNullWhenAttribute content was dropped entirely (only a locally-authored IsExternalInit shim remains), and the same upstream NullableAttributes.cs is already tracked by the existing polyfill-nullable-attributes entry.

Verification

python .github/scripts/check_vendored_files.py validate now reports Manifest OK: 19 entries, 20 sources.

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>
CopilotAI review requested due to automatic review settings June 22, 2026 11:16

CopilotAI 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.

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-polyfills vendored 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
FileDescription
eng/vendored-files.jsonUpdates/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

Comment threadeng/vendored-files.json Outdated
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

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:

CheckResult
python .github/scripts/check_vendored_files.py validateManifest 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).

@Evangelink

Copy link
Copy Markdown
MemberAuthor

🔴 Build Failure Analysis

The build fails with 4 errors (all the same root cause), but this PR did not introduce the failure.


Root Cause — Stale XLF translation file

'OutputDevice/Terminal/xlf/TerminalResources.cs.xlf' is out-of-date
with 'OutputDevice/Terminal/TerminalResources.resx'

Failing project:src/Platform/Microsoft.Testing.Platform/Microsoft.Testing.Platform.csproj
Target:_UpdateXlf
Task:UpdateXlf (from microsoft.dotnet.xlifftasks)

The XliffTasks CI check detects that TerminalResources.cs.xlf is out of sync with TerminalResources.resx and fails the build to prevent untracked resource changes from silently shipping. The error fires 3 times (once per project evaluation for multiple target frameworks) plus a final Build failed..


Origin — not this PR

Both TerminalResources.resx (55 string resources) and all xlf/TerminalResources.*.xlf files were newly added in the base-branch commit ed7797b ("Add orchestrator TestInProgress/TestDiscovered overloads for SDK parity #9294"). The XLF was hand-authored or generated by a different tool, and its content does not byte-for-byte match what XliffTasks /t:UpdateXlf would produce — causing this CI check to fail.

This PR only modifies eng/vendored-files.json and does not touch any of the Terminal resource or XLF files:

eng/vendored-files.json ← only file changed by this PR

Fix (must be applied to the base branch, not this PR)

Run UpdateXlf on the owning project to regenerate all XLF files from the RESX:

dotnet msbuild src/Platform/Microsoft.Testing.Platform/Microsoft.Testing.Platform.csproj /t:UpdateXlf

Then commit the regenerated xlf/TerminalResources.*.xlf files (all 13 language variants live under src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/). Once that fix lands on the base branch and this PR is rebased/updated on top of it, the build will pass.

Note: Per repo guidelines, XLF files must never be hand-edited — always regenerate them via /t:UpdateXlf.

🤖 Automated content 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 Build Failure Analysis workflow. · 465.3 AIC · ⌖ 12.7 AIC · ⊞ 46.9K · [◷]( · )

@Evangelink
Amaury Levé (Evangelink) merged commit 8c3e689 into mainJun 22, 2026
34 of 41 checks passed
@Evangelink
Amaury Levé (Evangelink) deleted the fix/vendored-files-manifest-paths branch June 22, 2026 12:34
Sign up for freeto 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.

2 participants

@Evangelink
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Fix vendored-files manifest paths for relocated source-gen helpers - #9336

Merged
Amaury Levé (Evangelink) merged 2 commits into
mainfrom
fix/vendored-files-manifest-paths
Jun 22, 2026
Merged

Fix vendored-files manifest paths for relocated source-gen helpers#9336
Amaury Levé (Evangelink) merged 2 commits into
mainfrom
fix/vendored-files-manifest-paths

Conversation

@Evangelink

Copy link
Copy Markdown
Member

Problem

The scheduled Check vendored source files workflow (run 27944937795) failed in the Validate vendored-files.json step. Three manifest entries in eng/vendored-files.json pointed at src/Analyzers/MSTest.SourceGeneration/Helpers/ files that no longer exist — they were moved/removed by earlier refactoring PRs (#8586, #9118):

  • SystemPolyfills.cs
  • SymbolVisibility.cs
  • EquatableArray{T}.cs

Fix

  • source-gen-equatable-array → repointed to src/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 at src/Analyzers/MSTest.Analyzers/RoslynAnalyzerHelpers/SymbolVisibility.cs; id renamed to analyzers-symbol-visibility.
  • source-gen-system-polyfillsremoved. Its vendored NotNullWhenAttribute content was dropped entirely (only a locally-authored IsExternalInit shim remains), and the same upstream NullableAttributes.cs is already tracked by the existing polyfill-nullable-attributes entry.

Verification

python .github/scripts/check_vendored_files.py validate now reports Manifest OK: 19 entries, 20 sources.

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>
CopilotAI review requested due to automatic review settings June 22, 2026 11:16

CopilotAI 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.

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-polyfills vendored 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
FileDescription
eng/vendored-files.jsonUpdates/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

Comment threadeng/vendored-files.json Outdated
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

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:

CheckResult
python .github/scripts/check_vendored_files.py validateManifest 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).

@Evangelink

Copy link
Copy Markdown
MemberAuthor

🔴 Build Failure Analysis

The build fails with 4 errors (all the same root cause), but this PR did not introduce the failure.


Root Cause — Stale XLF translation file

'OutputDevice/Terminal/xlf/TerminalResources.cs.xlf' is out-of-date
with 'OutputDevice/Terminal/TerminalResources.resx'

Failing project:src/Platform/Microsoft.Testing.Platform/Microsoft.Testing.Platform.csproj
Target:_UpdateXlf
Task:UpdateXlf (from microsoft.dotnet.xlifftasks)

The XliffTasks CI check detects that TerminalResources.cs.xlf is out of sync with TerminalResources.resx and fails the build to prevent untracked resource changes from silently shipping. The error fires 3 times (once per project evaluation for multiple target frameworks) plus a final Build failed..


Origin — not this PR

Both TerminalResources.resx (55 string resources) and all xlf/TerminalResources.*.xlf files were newly added in the base-branch commit ed7797b ("Add orchestrator TestInProgress/TestDiscovered overloads for SDK parity #9294"). The XLF was hand-authored or generated by a different tool, and its content does not byte-for-byte match what XliffTasks /t:UpdateXlf would produce — causing this CI check to fail.

This PR only modifies eng/vendored-files.json and does not touch any of the Terminal resource or XLF files:

eng/vendored-files.json ← only file changed by this PR

Fix (must be applied to the base branch, not this PR)

Run UpdateXlf on the owning project to regenerate all XLF files from the RESX:

dotnet msbuild src/Platform/Microsoft.Testing.Platform/Microsoft.Testing.Platform.csproj /t:UpdateXlf

Then commit the regenerated xlf/TerminalResources.*.xlf files (all 13 language variants live under src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/). Once that fix lands on the base branch and this PR is rebased/updated on top of it, the build will pass.

Note: Per repo guidelines, XLF files must never be hand-edited — always regenerate them via /t:UpdateXlf.

🤖 Automated content 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 Build Failure Analysis workflow. · 465.3 AIC · ⌖ 12.7 AIC · ⊞ 46.9K · [◷]( · )

@Evangelink
Amaury Levé (Evangelink) merged commit 8c3e689 into mainJun 22, 2026
34 of 41 checks passed
@Evangelink
Amaury Levé (Evangelink) deleted the fix/vendored-files-manifest-paths branch June 22, 2026 12:34
Sign up for freeto 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.

2 participants

@Evangelink
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Fix vendored-files manifest paths for relocated source-gen helpers - #9336

Merged
Amaury Levé (Evangelink) merged 2 commits into
mainfrom
fix/vendored-files-manifest-paths
Jun 22, 2026
Merged

Fix vendored-files manifest paths for relocated source-gen helpers#9336
Amaury Levé (Evangelink) merged 2 commits into
mainfrom
fix/vendored-files-manifest-paths

Conversation

@Evangelink

Copy link
Copy Markdown
Member

Problem

The scheduled Check vendored source files workflow (run 27944937795) failed in the Validate vendored-files.json step. Three manifest entries in eng/vendored-files.json pointed at src/Analyzers/MSTest.SourceGeneration/Helpers/ files that no longer exist — they were moved/removed by earlier refactoring PRs (#8586, #9118):

  • SystemPolyfills.cs
  • SymbolVisibility.cs
  • EquatableArray{T}.cs

Fix

  • source-gen-equatable-array → repointed to src/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 at src/Analyzers/MSTest.Analyzers/RoslynAnalyzerHelpers/SymbolVisibility.cs; id renamed to analyzers-symbol-visibility.
  • source-gen-system-polyfillsremoved. Its vendored NotNullWhenAttribute content was dropped entirely (only a locally-authored IsExternalInit shim remains), and the same upstream NullableAttributes.cs is already tracked by the existing polyfill-nullable-attributes entry.

Verification

python .github/scripts/check_vendored_files.py validate now reports Manifest OK: 19 entries, 20 sources.

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>
CopilotAI review requested due to automatic review settings June 22, 2026 11:16

CopilotAI 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.

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-polyfills vendored 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
FileDescription
eng/vendored-files.jsonUpdates/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

Comment threadeng/vendored-files.json Outdated
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

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:

CheckResult
python .github/scripts/check_vendored_files.py validateManifest 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).

@Evangelink

Copy link
Copy Markdown
MemberAuthor

🔴 Build Failure Analysis

The build fails with 4 errors (all the same root cause), but this PR did not introduce the failure.


Root Cause — Stale XLF translation file

'OutputDevice/Terminal/xlf/TerminalResources.cs.xlf' is out-of-date
with 'OutputDevice/Terminal/TerminalResources.resx'

Failing project:src/Platform/Microsoft.Testing.Platform/Microsoft.Testing.Platform.csproj
Target:_UpdateXlf
Task:UpdateXlf (from microsoft.dotnet.xlifftasks)

The XliffTasks CI check detects that TerminalResources.cs.xlf is out of sync with TerminalResources.resx and fails the build to prevent untracked resource changes from silently shipping. The error fires 3 times (once per project evaluation for multiple target frameworks) plus a final Build failed..


Origin — not this PR

Both TerminalResources.resx (55 string resources) and all xlf/TerminalResources.*.xlf files were newly added in the base-branch commit ed7797b ("Add orchestrator TestInProgress/TestDiscovered overloads for SDK parity #9294"). The XLF was hand-authored or generated by a different tool, and its content does not byte-for-byte match what XliffTasks /t:UpdateXlf would produce — causing this CI check to fail.

This PR only modifies eng/vendored-files.json and does not touch any of the Terminal resource or XLF files:

eng/vendored-files.json ← only file changed by this PR

Fix (must be applied to the base branch, not this PR)

Run UpdateXlf on the owning project to regenerate all XLF files from the RESX:

dotnet msbuild src/Platform/Microsoft.Testing.Platform/Microsoft.Testing.Platform.csproj /t:UpdateXlf

Then commit the regenerated xlf/TerminalResources.*.xlf files (all 13 language variants live under src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/). Once that fix lands on the base branch and this PR is rebased/updated on top of it, the build will pass.

Note: Per repo guidelines, XLF files must never be hand-edited — always regenerate them via /t:UpdateXlf.

🤖 Automated content 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 Build Failure Analysis workflow. · 465.3 AIC · ⌖ 12.7 AIC · ⊞ 46.9K · [◷]( · )

@Evangelink
Amaury Levé (Evangelink) merged commit 8c3e689 into mainJun 22, 2026
34 of 41 checks passed
@Evangelink
Amaury Levé (Evangelink) deleted the fix/vendored-files-manifest-paths branch June 22, 2026 12:34
Sign up for freeto 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.

2 participants

@Evangelink
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Fix vendored-files manifest paths for relocated source-gen helpers - #9336

Merged
Amaury Levé (Evangelink) merged 2 commits into
mainfrom
fix/vendored-files-manifest-paths
Jun 22, 2026
Merged

Fix vendored-files manifest paths for relocated source-gen helpers#9336
Amaury Levé (Evangelink) merged 2 commits into
mainfrom
fix/vendored-files-manifest-paths

Conversation

@Evangelink

Copy link
Copy Markdown
Member

Problem

The scheduled Check vendored source files workflow (run 27944937795) failed in the Validate vendored-files.json step. Three manifest entries in eng/vendored-files.json pointed at src/Analyzers/MSTest.SourceGeneration/Helpers/ files that no longer exist — they were moved/removed by earlier refactoring PRs (#8586, #9118):

  • SystemPolyfills.cs
  • SymbolVisibility.cs
  • EquatableArray{T}.cs

Fix

  • source-gen-equatable-array → repointed to src/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 at src/Analyzers/MSTest.Analyzers/RoslynAnalyzerHelpers/SymbolVisibility.cs; id renamed to analyzers-symbol-visibility.
  • source-gen-system-polyfillsremoved. Its vendored NotNullWhenAttribute content was dropped entirely (only a locally-authored IsExternalInit shim remains), and the same upstream NullableAttributes.cs is already tracked by the existing polyfill-nullable-attributes entry.

Verification

python .github/scripts/check_vendored_files.py validate now reports Manifest OK: 19 entries, 20 sources.

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>
CopilotAI review requested due to automatic review settings June 22, 2026 11:16

CopilotAI 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.

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-polyfills vendored 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
FileDescription
eng/vendored-files.jsonUpdates/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

Comment threadeng/vendored-files.json Outdated
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

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:

CheckResult
python .github/scripts/check_vendored_files.py validateManifest 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).

@Evangelink

Copy link
Copy Markdown
MemberAuthor

🔴 Build Failure Analysis

The build fails with 4 errors (all the same root cause), but this PR did not introduce the failure.


Root Cause — Stale XLF translation file

'OutputDevice/Terminal/xlf/TerminalResources.cs.xlf' is out-of-date
with 'OutputDevice/Terminal/TerminalResources.resx'

Failing project:src/Platform/Microsoft.Testing.Platform/Microsoft.Testing.Platform.csproj
Target:_UpdateXlf
Task:UpdateXlf (from microsoft.dotnet.xlifftasks)

The XliffTasks CI check detects that TerminalResources.cs.xlf is out of sync with TerminalResources.resx and fails the build to prevent untracked resource changes from silently shipping. The error fires 3 times (once per project evaluation for multiple target frameworks) plus a final Build failed..


Origin — not this PR

Both TerminalResources.resx (55 string resources) and all xlf/TerminalResources.*.xlf files were newly added in the base-branch commit ed7797b ("Add orchestrator TestInProgress/TestDiscovered overloads for SDK parity #9294"). The XLF was hand-authored or generated by a different tool, and its content does not byte-for-byte match what XliffTasks /t:UpdateXlf would produce — causing this CI check to fail.

This PR only modifies eng/vendored-files.json and does not touch any of the Terminal resource or XLF files:

eng/vendored-files.json ← only file changed by this PR

Fix (must be applied to the base branch, not this PR)

Run UpdateXlf on the owning project to regenerate all XLF files from the RESX:

dotnet msbuild src/Platform/Microsoft.Testing.Platform/Microsoft.Testing.Platform.csproj /t:UpdateXlf

Then commit the regenerated xlf/TerminalResources.*.xlf files (all 13 language variants live under src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/). Once that fix lands on the base branch and this PR is rebased/updated on top of it, the build will pass.

Note: Per repo guidelines, XLF files must never be hand-edited — always regenerate them via /t:UpdateXlf.

🤖 Automated content 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 Build Failure Analysis workflow. · 465.3 AIC · ⌖ 12.7 AIC · ⊞ 46.9K · [◷]( · )

@Evangelink
Amaury Levé (Evangelink) merged commit 8c3e689 into mainJun 22, 2026
34 of 41 checks passed
@Evangelink
Amaury Levé (Evangelink) deleted the fix/vendored-files-manifest-paths branch June 22, 2026 12:34
Sign up for freeto 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.

2 participants

@Evangelink
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Fix vendored-files manifest paths for relocated source-gen helpers - #9336

Merged
Amaury Levé (Evangelink) merged 2 commits into
mainfrom
fix/vendored-files-manifest-paths
Jun 22, 2026
Merged

Fix vendored-files manifest paths for relocated source-gen helpers#9336
Amaury Levé (Evangelink) merged 2 commits into
mainfrom
fix/vendored-files-manifest-paths

Conversation

@Evangelink

Copy link
Copy Markdown
Member

Problem

The scheduled Check vendored source files workflow (run 27944937795) failed in the Validate vendored-files.json step. Three manifest entries in eng/vendored-files.json pointed at src/Analyzers/MSTest.SourceGeneration/Helpers/ files that no longer exist — they were moved/removed by earlier refactoring PRs (#8586, #9118):

  • SystemPolyfills.cs
  • SymbolVisibility.cs
  • EquatableArray{T}.cs

Fix

  • source-gen-equatable-array → repointed to src/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 at src/Analyzers/MSTest.Analyzers/RoslynAnalyzerHelpers/SymbolVisibility.cs; id renamed to analyzers-symbol-visibility.
  • source-gen-system-polyfillsremoved. Its vendored NotNullWhenAttribute content was dropped entirely (only a locally-authored IsExternalInit shim remains), and the same upstream NullableAttributes.cs is already tracked by the existing polyfill-nullable-attributes entry.

Verification

python .github/scripts/check_vendored_files.py validate now reports Manifest OK: 19 entries, 20 sources.

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>
CopilotAI review requested due to automatic review settings June 22, 2026 11:16

CopilotAI 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.

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-polyfills vendored 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
FileDescription
eng/vendored-files.jsonUpdates/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

Comment threadeng/vendored-files.json Outdated
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

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:

CheckResult
python .github/scripts/check_vendored_files.py validateManifest 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).

@Evangelink

Copy link
Copy Markdown
MemberAuthor

🔴 Build Failure Analysis

The build fails with 4 errors (all the same root cause), but this PR did not introduce the failure.


Root Cause — Stale XLF translation file

'OutputDevice/Terminal/xlf/TerminalResources.cs.xlf' is out-of-date
with 'OutputDevice/Terminal/TerminalResources.resx'

Failing project:src/Platform/Microsoft.Testing.Platform/Microsoft.Testing.Platform.csproj
Target:_UpdateXlf
Task:UpdateXlf (from microsoft.dotnet.xlifftasks)

The XliffTasks CI check detects that TerminalResources.cs.xlf is out of sync with TerminalResources.resx and fails the build to prevent untracked resource changes from silently shipping. The error fires 3 times (once per project evaluation for multiple target frameworks) plus a final Build failed..


Origin — not this PR

Both TerminalResources.resx (55 string resources) and all xlf/TerminalResources.*.xlf files were newly added in the base-branch commit ed7797b ("Add orchestrator TestInProgress/TestDiscovered overloads for SDK parity #9294"). The XLF was hand-authored or generated by a different tool, and its content does not byte-for-byte match what XliffTasks /t:UpdateXlf would produce — causing this CI check to fail.

This PR only modifies eng/vendored-files.json and does not touch any of the Terminal resource or XLF files:

eng/vendored-files.json ← only file changed by this PR

Fix (must be applied to the base branch, not this PR)

Run UpdateXlf on the owning project to regenerate all XLF files from the RESX:

dotnet msbuild src/Platform/Microsoft.Testing.Platform/Microsoft.Testing.Platform.csproj /t:UpdateXlf

Then commit the regenerated xlf/TerminalResources.*.xlf files (all 13 language variants live under src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/). Once that fix lands on the base branch and this PR is rebased/updated on top of it, the build will pass.

Note: Per repo guidelines, XLF files must never be hand-edited — always regenerate them via /t:UpdateXlf.

🤖 Automated content 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 Build Failure Analysis workflow. · 465.3 AIC · ⌖ 12.7 AIC · ⊞ 46.9K · [◷]( · )

@Evangelink
Amaury Levé (Evangelink) merged commit 8c3e689 into mainJun 22, 2026
34 of 41 checks passed
@Evangelink
Amaury Levé (Evangelink) deleted the fix/vendored-files-manifest-paths branch June 22, 2026 12:34
Sign up for freeto 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.

2 participants

@Evangelink
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Fix vendored-files manifest paths for relocated source-gen helpers - #9336

Merged
Amaury Levé (Evangelink) merged 2 commits into
mainfrom
fix/vendored-files-manifest-paths
Jun 22, 2026
Merged

Fix vendored-files manifest paths for relocated source-gen helpers#9336
Amaury Levé (Evangelink) merged 2 commits into
mainfrom
fix/vendored-files-manifest-paths

Conversation

@Evangelink

Copy link
Copy Markdown
Member

Problem

The scheduled Check vendored source files workflow (run 27944937795) failed in the Validate vendored-files.json step. Three manifest entries in eng/vendored-files.json pointed at src/Analyzers/MSTest.SourceGeneration/Helpers/ files that no longer exist — they were moved/removed by earlier refactoring PRs (#8586, #9118):

  • SystemPolyfills.cs
  • SymbolVisibility.cs
  • EquatableArray{T}.cs

Fix

  • source-gen-equatable-array → repointed to src/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 at src/Analyzers/MSTest.Analyzers/RoslynAnalyzerHelpers/SymbolVisibility.cs; id renamed to analyzers-symbol-visibility.
  • source-gen-system-polyfillsremoved. Its vendored NotNullWhenAttribute content was dropped entirely (only a locally-authored IsExternalInit shim remains), and the same upstream NullableAttributes.cs is already tracked by the existing polyfill-nullable-attributes entry.

Verification

python .github/scripts/check_vendored_files.py validate now reports Manifest OK: 19 entries, 20 sources.

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>
CopilotAI review requested due to automatic review settings June 22, 2026 11:16

CopilotAI 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.

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-polyfills vendored 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
FileDescription
eng/vendored-files.jsonUpdates/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

Comment threadeng/vendored-files.json Outdated
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

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:

CheckResult
python .github/scripts/check_vendored_files.py validateManifest 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).

@Evangelink

Copy link
Copy Markdown
MemberAuthor

🔴 Build Failure Analysis

The build fails with 4 errors (all the same root cause), but this PR did not introduce the failure.


Root Cause — Stale XLF translation file

'OutputDevice/Terminal/xlf/TerminalResources.cs.xlf' is out-of-date
with 'OutputDevice/Terminal/TerminalResources.resx'

Failing project:src/Platform/Microsoft.Testing.Platform/Microsoft.Testing.Platform.csproj
Target:_UpdateXlf
Task:UpdateXlf (from microsoft.dotnet.xlifftasks)

The XliffTasks CI check detects that TerminalResources.cs.xlf is out of sync with TerminalResources.resx and fails the build to prevent untracked resource changes from silently shipping. The error fires 3 times (once per project evaluation for multiple target frameworks) plus a final Build failed..


Origin — not this PR

Both TerminalResources.resx (55 string resources) and all xlf/TerminalResources.*.xlf files were newly added in the base-branch commit ed7797b ("Add orchestrator TestInProgress/TestDiscovered overloads for SDK parity #9294"). The XLF was hand-authored or generated by a different tool, and its content does not byte-for-byte match what XliffTasks /t:UpdateXlf would produce — causing this CI check to fail.

This PR only modifies eng/vendored-files.json and does not touch any of the Terminal resource or XLF files:

eng/vendored-files.json ← only file changed by this PR

Fix (must be applied to the base branch, not this PR)

Run UpdateXlf on the owning project to regenerate all XLF files from the RESX:

dotnet msbuild src/Platform/Microsoft.Testing.Platform/Microsoft.Testing.Platform.csproj /t:UpdateXlf

Then commit the regenerated xlf/TerminalResources.*.xlf files (all 13 language variants live under src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/). Once that fix lands on the base branch and this PR is rebased/updated on top of it, the build will pass.

Note: Per repo guidelines, XLF files must never be hand-edited — always regenerate them via /t:UpdateXlf.

🤖 Automated content 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 Build Failure Analysis workflow. · 465.3 AIC · ⌖ 12.7 AIC · ⊞ 46.9K · [◷]( · )

@Evangelink
Amaury Levé (Evangelink) merged commit 8c3e689 into mainJun 22, 2026
34 of 41 checks passed
@Evangelink
Amaury Levé (Evangelink) deleted the fix/vendored-files-manifest-paths branch June 22, 2026 12:34
Sign up for freeto 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.

2 participants

@Evangelink
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Fix vendored-files manifest paths for relocated source-gen helpers - #9336

Merged
Amaury Levé (Evangelink) merged 2 commits into
mainfrom
fix/vendored-files-manifest-paths
Jun 22, 2026
Merged

Fix vendored-files manifest paths for relocated source-gen helpers#9336
Amaury Levé (Evangelink) merged 2 commits into
mainfrom
fix/vendored-files-manifest-paths

Conversation

@Evangelink

Copy link
Copy Markdown
Member

Problem

The scheduled Check vendored source files workflow (run 27944937795) failed in the Validate vendored-files.json step. Three manifest entries in eng/vendored-files.json pointed at src/Analyzers/MSTest.SourceGeneration/Helpers/ files that no longer exist — they were moved/removed by earlier refactoring PRs (#8586, #9118):

  • SystemPolyfills.cs
  • SymbolVisibility.cs
  • EquatableArray{T}.cs

Fix

  • source-gen-equatable-array → repointed to src/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 at src/Analyzers/MSTest.Analyzers/RoslynAnalyzerHelpers/SymbolVisibility.cs; id renamed to analyzers-symbol-visibility.
  • source-gen-system-polyfillsremoved. Its vendored NotNullWhenAttribute content was dropped entirely (only a locally-authored IsExternalInit shim remains), and the same upstream NullableAttributes.cs is already tracked by the existing polyfill-nullable-attributes entry.

Verification

python .github/scripts/check_vendored_files.py validate now reports Manifest OK: 19 entries, 20 sources.

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>
CopilotAI review requested due to automatic review settings June 22, 2026 11:16

CopilotAI 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.

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-polyfills vendored 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
FileDescription
eng/vendored-files.jsonUpdates/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

Comment threadeng/vendored-files.json Outdated
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

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:

CheckResult
python .github/scripts/check_vendored_files.py validateManifest 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).

@Evangelink

Copy link
Copy Markdown
MemberAuthor

🔴 Build Failure Analysis

The build fails with 4 errors (all the same root cause), but this PR did not introduce the failure.


Root Cause — Stale XLF translation file

'OutputDevice/Terminal/xlf/TerminalResources.cs.xlf' is out-of-date
with 'OutputDevice/Terminal/TerminalResources.resx'

Failing project:src/Platform/Microsoft.Testing.Platform/Microsoft.Testing.Platform.csproj
Target:_UpdateXlf
Task:UpdateXlf (from microsoft.dotnet.xlifftasks)

The XliffTasks CI check detects that TerminalResources.cs.xlf is out of sync with TerminalResources.resx and fails the build to prevent untracked resource changes from silently shipping. The error fires 3 times (once per project evaluation for multiple target frameworks) plus a final Build failed..


Origin — not this PR

Both TerminalResources.resx (55 string resources) and all xlf/TerminalResources.*.xlf files were newly added in the base-branch commit ed7797b ("Add orchestrator TestInProgress/TestDiscovered overloads for SDK parity #9294"). The XLF was hand-authored or generated by a different tool, and its content does not byte-for-byte match what XliffTasks /t:UpdateXlf would produce — causing this CI check to fail.

This PR only modifies eng/vendored-files.json and does not touch any of the Terminal resource or XLF files:

eng/vendored-files.json ← only file changed by this PR

Fix (must be applied to the base branch, not this PR)

Run UpdateXlf on the owning project to regenerate all XLF files from the RESX:

dotnet msbuild src/Platform/Microsoft.Testing.Platform/Microsoft.Testing.Platform.csproj /t:UpdateXlf

Then commit the regenerated xlf/TerminalResources.*.xlf files (all 13 language variants live under src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/xlf/). Once that fix lands on the base branch and this PR is rebased/updated on top of it, the build will pass.

Note: Per repo guidelines, XLF files must never be hand-edited — always regenerate them via /t:UpdateXlf.

🤖 Automated content 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 Build Failure Analysis workflow. · 465.3 AIC · ⌖ 12.7 AIC · ⊞ 46.9K · [◷]( · )

@Evangelink
Amaury Levé (Evangelink) merged commit 8c3e689 into mainJun 22, 2026
34 of 41 checks passed
@Evangelink
Amaury Levé (Evangelink) deleted the fix/vendored-files-manifest-paths branch June 22, 2026 12:34
Sign up for freeto 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.

2 participants

@Evangelink