Add agentic workflow for PerfStar MT regressions#14406
Conversation
Detect possible Gold and Hosted MT build-time regressions from Kusto, investigate them as one batch, and safely emit at most one issue and one draft fix PR. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 975b4ec4-66a1-46f3-8093-63e75c1c1912
Review — PR #14406 · 5 files, +2534/−0 · DeepMethodology: portable core + dotnet/msbuild expert-reviewer · 13/13 dims (no product C# changed). Verdict: 🟡 COMMENT — address findings — 0 blocking, 0 major, 2 moderate, 4 nit. Secret-isolation verifies end-to-end: Kusto/AzDO tokens stay job-local in Needs attention
Clean (9): Correctness, Security, Concurrency, Backward-compat, Error handling, Performance, Portability, Observability, Simplicity — evaluated, no issues. 🤖 ultimate-reviewer (Deep). Read-only; nothing built or run. |
Resolve current and healthy MSBuild source revisions and provide allowlisted candidate metrics and timing evidence without exposing raw Azure DevOps artifacts to the agent. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 975b4ec4-66a1-46f3-8093-63e75c1c1912
Match diagnostics runs by exact MSBuild source SHA and include bounded task, target, evaluation, and migration-state deltas from Kusto. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 975b4ec4-66a1-46f3-8093-63e75c1c1912
Use a deterministic candidate-set key, enforce exact-title issue deduplication, and document the OIDC and secret-scope prerequisites. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 975b4ec4-66a1-46f3-8093-63e75c1c1912
Review — PR #14406 · re-review at
|
|
@copilot study and understand the workflow added here and then add a flow chart diagram to the doc to give reader quick overview of the datasources and sequences of processing |
Co-authored-by: JanKrivanek <3809076+JanKrivanek@users.noreply.github.com>
Added a "Data flow at a glance" Mermaid flow chart to |
Related to #13743
Context
Adds a scheduled GitHub Agentic Workflow that detects possible PerfStar multithreaded (
/mt) build-time regressions across Gold and Hosted data, investigates all candidates as one batch using evidence from the exact current and last-healthy runs plus matching scheduled binlog diagnostics, and proposes a single draft fix only when the evidence supports every actionable candidate. The OIDC exchange is based on #13743 by Jan Krivanek, which proved secretless GitHub Actions access to Microsoft Entra-protected services.Changes Made
Get-MtBuildTimeRegressions.kqlto compare the latest paired production MT/non-MT run with a 21-day per-build-median baseline across Gold/Hosted and Windows/Linux.Invoke-MtBuildTimeRegressionScan.ps1to execute the Kusto query and produce bounded JSON and Markdown statistical evidence.Add-MtBuildTimeRegressionEvidence.ps1to resolve component MSBuild source SHAs, download candidate-specific Hosted and Gold artifacts, extract allowlisted metrics and safe timing/completion lines, and delete all raw downloads.Add-MtBuildTimeDiagnosticEvidence.ps1to match scheduled diagnostics pipeline 28394 by exact MSBuild source SHA and querytask_wallclock(),target_wallclock(),eval_pass(), andtask_inventoryfor bounded MT/non-MT deltas and migrated-task controls.mt-build-regression.agent.mdwith an OIDC-authenticated deterministic scan job and a secret-free Copilot investigation job.src/**.copilot-pat-poolenvironment so Copilot credentials remain isolated from Kusto and Azure DevOps access.mt-build-regression-agent.mdwith architecture, attribution, setup, detector thresholds, evidence handling, and current limitations.mt-build-regression.agent.lock.ymlwithgh-awv0.82.9.Testing
mt-build-regression.agent.mdwithgh awv0.82.9.gh aw lint; all seven agentic workflows reported zero issues.perfstar-devdata; it returned five candidates spanning Gold and Hosted.has_regressions=false,regression_count=0, and a valid zero-candidate report.Notes
msbuild-azdo-readerDatabase Vieweraccess toperfstar-devand Azure DevOpsView buildsaccess to definitions 25429, 28338, 28394, and 9434. Queue permission is not required.AZDO_READER_CLIENT_ID,AZDO_READER_TENANT_ID, andCOPILOT_PAT_0throughCOPILOT_PAT_9; no new secret values are introduced. Azure/Kusto/Azure DevOps credentials are restricted tomt_regression_scan, while the agent job receives only the generated evidence artifact. Generated actions are SHA-pinned bygh-aw; no redirect changes were added.