Skip to content

Route vendored-sync drift issues to area triage via manifest-declared labels - #55520

Merged
Evangelink merged 5 commits into
mainfrom
dev/amauryleve/fictional-fiesta
Aug 26, 2026
Merged

Route vendored-sync drift issues to area triage via manifest-declared labels#55520
Evangelink merged 5 commits into
mainfrom
dev/amauryleve/fictional-fiesta

Conversation

@Evangelink

Copy link
Copy Markdown
Member

Follow-up to the vendored-files drift detector, prompted by @marcpopMSFT's question on #55471: drift issues only carried area-vendored-sync, so they never reached an area triage queue.

Every entry in eng/vendored-files.json is dotnet test ↔ Microsoft.Testing.Platform shared source, so those issues now also get Area-dotnet test (MTP).

The detector itself is upstream-agnostic — each source declares its own repo/ref/path, so it can track a file vendored from any repository. Hard-coding the MTP label in the script would therefore silently misroute a future entry vendored for a different area. Area routing is manifest data instead:

Docs updated: manifest schema, an explicit note that a differently-scoped entry must set area_labels, and a step in Adding a new vendored file.

Testing

  • check_vendored_files.py validate passes (30 entries, 38 sources).
  • Unit-checked label resolution: manifest default, per-entry override, explicit-empty override (sync label only), no list aliasing between entries, and validate rejecting malformed area_labels.
  • Live check --dry-run against microsoft/testfx: 4 drifted, 0 errors, each resolving area-vendored-sync, Area-dotnet test (MTP).

No product code is touched — this only affects the labels on issues the weekly workflow opens.

Evangelink and others added 2 commits July 29, 2026 16:54
Every entry in eng/vendored-files.json is 'dotnet test' <-> Microsoft.Testing.Platform
shared source, so drift issues opened by the vendored-files workflow now also carry the
MTP area label and land in the normal area triage queue.

- Apply both labels on issue creation and backfill the area label on issues opened
  before this change.
- Create the area label only when missing so the repo-owned description/color is not
  overwritten by the workflow.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 577f0b32-950f-4628-bd19-76ff5dbcabeb
The drift detector is upstream-agnostic (a source can point at any repo), so
hard-coding the MTP area label would misroute a future entry vendored for a
different area. Move the area labels into eng/vendored-files.json instead.

- Add manifest-level 'default_area_labels' plus an optional per-entry
  'area_labels' override; validate both.
- Resolve labels per entry when creating issues, backfilling labels on existing
  issues, and ensuring labels exist.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 577f0b32-950f-4628-bd19-76ff5dbcabeb
Copilot AI review requested due to automatic review settings July 29, 2026 14:55
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).
1 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI 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

This PR updates the vendored-file drift detector workflow so drift issues are routed into the correct area triage queues by applying area labels that are declared in the eng/vendored-files.json manifest (with a manifest-level default and per-entry overrides), rather than hard-coding labels in the script.

Changes:

  • Add default_area_labels at the manifest level, with optional per-entry area_labels overrides.
  • Update the drift detector script to resolve per-entry label sets, apply them on issue create, and backfill missing labels on existing open drift issues.
  • Update documentation and workflow comments to describe the new label-routing behavior.
Show a summary per file
File Description
eng/vendored-files.md Document manifest schema changes and clarify how/when to set area_labels.
eng/vendored-files.json Add default_area_labels for the current set of dotnet test/MTP vendored entries.
.github/workflows/check-vendored-files.yml Update workflow commentary to note issues include area labels from the manifest.
.github/scripts/check_vendored_files.py Resolve/apply area labels per entry, backfill missing labels on existing issues, and adjust label creation behavior.

Copilot's findings

  • Files reviewed: 4/4 changed files
  • Comments generated: 2

Comment thread .github/scripts/check_vendored_files.py Outdated
Comment thread .github/scripts/check_vendored_files.py Outdated
Reject non-list area label declarations during manifest validation, and make label setup enumerate existing labels before creating only the missing ones. Surface gh failures and stop the check instead of continuing with incomplete label setup.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 577f0b32-950f-4628-bd19-76ff5dbcabeb
@Evangelink

Copy link
Copy Markdown
Member Author

@marcpopMSFT could you please review?

@marcpopMSFT

Copy link
Copy Markdown
Member

@marcpopMSFT could you please review?

I'm not really familiar with what you're doing here so not sure how much help I can be. I had copilot do a local review and asked a few questions and it's going to add those comments to the review.

Comment thread .github/scripts/check_vendored_files.py Outdated
Comment thread .github/scripts/check_vendored_files.py Outdated
Require manifest area labels to exist in the repository taxonomy and replace stale Area-* labels on existing sync issues while preserving unrelated labels.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 131255e3-e14c-4fc3-91f6-00ff64afb2a6
@Evangelink
Evangelink enabled auto-merge August 26, 2026 14:15
@Evangelink
Evangelink merged commit 89f3c37 into main Aug 26, 2026
11 of 21 checks passed
@Evangelink
Evangelink deleted the dev/amauryleve/fictional-fiesta branch August 26, 2026 14:16
@dotnet-milestone-bot dotnet-milestone-bot Bot added this to the 12.0-preview1 milestone Aug 27, 2026
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.

3 participants