Add mobile platform failure scanner agentic workflow#126952
Add mobile platform failure scanner agentic workflow#126952kotlarmilos wants to merge 8 commits intodotnet:mainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a new GitHub Agentic Workflow to automatically scan Azure DevOps “runtime-extra-platforms” (definition 154) for Apple mobile/Android failures, triage them, and produce bounded remediation outputs (issues/PRs/comments). Also introduces a new mobile triage skill document and the compiled workflow lockfile needed to run the workflow in production.
Changes:
- Add a scheduled “Mobile Platform Failure Scanner” agentic workflow definition (
mobile-scan.md) plus its compiled lock workflow (mobile-scan.lock.yml). - Add a new domain skill document for mobile-platform CI triage and fixes (
.github/skills/mobile-platforms/SKILL.md). - Update the Agentic Workflows action lock entries and include an unrelated test change in
System.Diagnostics.FileVersionInfo.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
src/libraries/System.Diagnostics.FileVersionInfo/tests/System.Diagnostics.FileVersionInfo.Tests/FileVersionInfoTest.cs |
Small platform check tweak (note: unrelated to the PR’s stated workflow purpose). |
.github/workflows/mobile-scan.md |
New agentic workflow source: schedule + prompt/instructions + safe-output caps. |
.github/workflows/mobile-scan.lock.yml |
Generated compiled workflow to execute in GitHub Actions. |
.github/skills/mobile-platforms/SKILL.md |
New skill doc capturing mobile CI pipeline structure and triage guidance. |
.github/aw/actions-lock.json |
Updates action lock entries used by agentic workflows. |
Use OperatingSystem.IsWindows() instead of PlatformDetection.IsWindows for the OriginalTestAssemblyInternalName field initializer. On Apple mobile CI, EnableAggressiveTrimming=true causes PlatformDetection.IsWindows (which chains through RuntimeInformation.IsOSPlatform) to be incorrectly evaluated during cross-compilation trimming. OperatingSystem.IsWindows() is a compile-time constant in the BCL, immune to trimmer mis-evaluation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add a daily scheduled agentic workflow that scans the runtime-extra-platforms pipeline (AzDO definition 154) for Apple mobile and Android test/build failures. The agent triages failures as infrastructure or code, reports infrastructure issues on tracking issues with machine details, and opens draft PRs for code fixes. Files added: - .github/skills/mobile-platforms/SKILL.md: domain knowledge covering CI pipeline structure, code paths, failure triage, platform gotchas, and self-improvement guidance - .github/workflows/mobile-scan.md: daily scan workflow with safe-output caps (2 PRs, 2 issues, 5 comments) - .github/workflows/mobile-scan.lock.yml: compiled lock file Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
d13c49e to
3815708
Compare
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Fix BUILD_ID capture and timeline API URL - Rename concurrency group to mobile-scan - Add network allowlist for dev.azure.com and helix.dot.net - Add known build error check before investigating - Reference ci-analysis skill for structured failure data - Align self-improvement guidance between workflow and skill - Skip PR creation if a fix PR already exists for the issue Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Move roles under on: so schedule trigger runs without role check - Delegate CI failure analysis to ci-analysis skill (Get-CIStatus.ps1) - Add pwsh to bash tool allowlist for ci-analysis script - Update self-improvement guidance: record learnings on issues instead of modifying SKILL.md in fix PRs (protected by safe-outputs) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
I don't have permissions to create/update .github/workflows. Could someone push it to the origin repo (instead of my fork) so I can run it manually to verify? |
/cc: @danmoseley @vitek-karas @JanKrivanek Anyone with permissions to change workflows? |
Port the net changes from #126952 onto a direct runtime branch. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
YAML parsed '!github.event.repository.fork' as a tag. Replace with 'github.event.repository.fork == false' to avoid the leading '!'. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Port the net changes from #126952 onto a direct runtime branch. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…PR base) Squash of iterations from upstream/pr-126952-mobile-scan: - drill into Helix logs and auto-fix platform-unsupported tests - expand bash allowlist; persist state to files to avoid shell guard - allow blob storage; use script-file pattern for $(...) - branch from origin/main to avoid protected-file fallback on patch - require os-* and area-* labels on PRs/issues Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
@kotlarmilos I think this should try to incorporate the "CI Investigator" agent and skills from https://github.com/dotnet/arcade-skills/tree/main/plugins/dotnet-dnceng. I also think we should not hold ourselves to just mobile. |
Description
This adds a daily scheduled agentic workflow that scans the
runtime-extra-platformshttps://dev.azure.com/dnceng-public/public/_build?definitionId=154 for Apple mobile (iOS, tvOS, MacCatalyst) and Android failures onmain.What it does
Files
.github/skills/mobile-platforms/SKILL.md.github/workflows/mobile-scan.md.github/workflows/mobile-scan.lock.ymlSafety