Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
119 commits
Select commit Hold shift + click to select a range
9afe10e
Add regression cross-reference script (STEP 0.6)
Copilot May 2, 2026
819df75
Run regression tests from reverted fix PRs
Copilot May 2, 2026
e42bde3
Run ALL test types in regression verification (UI, device, unit)
Copilot May 2, 2026
ca86645
Run regression tests for OVERLAP too (max confidence)
Copilot May 3, 2026
30fd081
Wire regression tests into try-fix candidate validation
Copilot May 3, 2026
6ae23f7
Renumber pipeline steps to whole numbers (1-8)
Copilot May 3, 2026
e1958fe
Merge regression test execution into STEP 3, renumber to 7 steps
Copilot May 3, 2026
4cd85a1
Filter out fix PRs not merged into PR's base branch
Copilot May 4, 2026
7fbceac
Add STEP 3: run detected UI test categories
Copilot May 7, 2026
90081ec
Preserve STEP 3 results when Tier-3 refresh rewrites uitests/content.md
Copilot May 8, 2026
dc5cb10
STEP 3: enrich UI test failure detail in AI summary comment
Copilot May 8, 2026
e9b1f9c
STEP 3: surface build/deploy errors and avoid misleading ✓ when categ…
Copilot May 8, 2026
50ce109
STEP 3: split multi-line dotnet test capture and dedup failure rendering
Copilot May 8, 2026
965f7b7
STEP 3: detect infrastructure failures and clearly label them in AI s…
Copilot May 8, 2026
7c85be9
STEP 3: retry on environment errors (same as Gate's verify-tests-fail…
Copilot May 8, 2026
e2059f5
STEP 3: delegate UI test runs to shared Invoke-UITestWithRetry.ps1
Copilot May 8, 2026
efb8dec
STEP 3: broaden infra-failure detection to 'Build FAILED + 0 passes'
Copilot May 8, 2026
6225efe
STEP 3: align dotnet test invocation with CI pipeline 313 (TRX, TestC…
Copilot May 8, 2026
6ee26d0
STEP 3: scope TRX fallback to current run via timestamp filter
Copilot May 8, 2026
0560470
Add Pester tests for Review-PR.ps1 helpers (Get-TrxResults, Get-DotNe…
Copilot May 8, 2026
5b2ca06
STEP 3: dispatch UI tests to dedicated child pipeline (mirrors CI 313)
Copilot May 9, 2026
d83c829
Revert "STEP 3: dispatch UI tests to dedicated child pipeline (mirror…
Copilot May 9, 2026
9b8a6fe
STEP 3: add inline RunDeepUITests + UpdateAISummaryComment stages
Copilot May 9, 2026
f787070
TEMP: skip Gate + Try-Fix to speed up inline-stages validation
Copilot May 9, 2026
5d1d92c
STEP 3: fix cross-stage output variable lookup syntax
Copilot May 9, 2026
db5f49f
STEP 3: install workloads + use build.ps1 in RunDeepUITests stage
Copilot May 9, 2026
9a0b76a
Fix Deep UI Tests: use -Category param instead of invalid -OutputDir/…
Copilot May 9, 2026
3a4bbf1
Drop backtick line-continuation in deep UI tests step
Copilot May 9, 2026
cb87dce
Disable Xcode version validation in RunDeepUITests stage
Copilot May 9, 2026
3c1b478
Install Node.js + Appium in RunDeepUITests stage
Copilot May 9, 2026
e5c8c7a
Prefer iOS 26 simulator like main ui-tests pipeline + allow Update st…
Copilot May 9, 2026
71f34a1
Auto-create iPhone 11 Pro on iOS-26 sim if no matching device pre-ins…
Copilot May 9, 2026
f7d46c7
Prefer iOS-26-0 over iOS-26-1 in Start-Emulator.ps1
Copilot May 9, 2026
2d405da
Re-enable Gate + Try-Fix after inline-stages validated
Copilot May 9, 2026
07dbc58
Add failed-test names + snapshot-diff PNGs to deep results
Copilot May 9, 2026
3ba6af5
Wrap deep section in HTML markers to prevent duplicate stacking
Copilot May 9, 2026
7fda7e3
Enable Android AVD creation in provision for android Platform
Copilot May 9, 2026
56f739f
Prefer highest iOS 26.x runtime (26.4) to match CI baselines
Copilot May 9, 2026
8d24ced
Add Android SDK tools (adb, emulator) to PATH for Deep stage
Copilot May 9, 2026
8787d18
Use AcesShared pool for Android Deep UI Tests
Copilot May 9, 2026
be35635
Re-enable Gate + Try-Fix for full end-to-end validation
Copilot May 9, 2026
8f89adc
Install iOS 26.4 simulator explicitly + re-disable Gate/TryFix
Copilot May 10, 2026
ace20d1
Remove iOS 26.4 download step (requires macOS 26.4+, not downloadable)
Copilot May 10, 2026
64fcdf9
Demand Tahoe image for iOS pool to ensure iOS 26.4 runtime
Copilot May 10, 2026
7f47278
Skip iOS simulator download in Deep stage — use Tahoe pre-installed r…
Copilot May 10, 2026
f5e7418
Revert skipSimulatorSetup — iOS 26.0 needed for build, not just tests
Copilot May 10, 2026
63aa9ec
Explicitly download iOS 26.4 simulator using latest available Xcode
Copilot May 10, 2026
d3d29cd
TEMP: Skip ReviewPR, hardcode ViewBaseTests for fast iOS 26.4 testing
Copilot May 10, 2026
8a169b6
Try multiple iOS 26.4 download approaches on Tahoe agent
Copilot May 10, 2026
69f72c3
Add Tahoe image demand to androidPool (matches main CI)
Copilot May 10, 2026
771508d
Switch Android to ubuntu-22.04 with KVM (matches main CI)
Copilot May 10, 2026
6168e9a
Free disk space on ubuntu agents for Android emulator
Copilot May 10, 2026
68eacc8
Force-restart Android app before tests to recover from ANR
Copilot May 10, 2026
704a9ac
Wait for Android settings service before tests (API 30 fix)
Copilot May 10, 2026
8eb0693
Add ignoreHiddenApiPolicyError capability for Android API 30
Copilot May 10, 2026
13fce5c
Pre-build test project before app restart to avoid ANR on Android
Copilot May 10, 2026
185fbd9
Fix: allow restore during Android test project pre-build
Copilot May 10, 2026
3b11980
Restore full pipeline flow (ReviewPR → Deep → Update)
Copilot May 10, 2026
642a476
Switch Android to MAUI-1ESPT pool with 1ESPT-Ubuntu22.04 image
Copilot May 10, 2026
4c3ac48
TEMP: Skip ReviewPR for fast Android MAUI-1ESPT validation
Copilot May 10, 2026
d0983e2
Add AVD boot step to Deep stage (matches ReviewPR stage)
Copilot May 10, 2026
c595f5d
Move Android app restart to right before dotnet test execution
Copilot May 10, 2026
152493f
Remove manual app restart — let Appium manage Android app lifecycle
Copilot May 10, 2026
5ef35bd
Pass DEVICE_UDID to BuildAndRunHostApp in Deep stage
Copilot May 10, 2026
9064c78
Reset LASTEXITCODE at end of Start-Emulator.ps1
Copilot May 11, 2026
cf3ea1b
Restore full pipeline + Android 118/119 ViewBaseTests PASS
Copilot May 11, 2026
bd66bf9
Improve deep test results comment formatting
Copilot May 11, 2026
4165c0d
Add <br/> after all </summary> tags + dynamic category title
Copilot May 11, 2026
e166c24
Wrap each failed test in details/summary for collapsible logs
Copilot May 11, 2026
b6e58a8
Re-enable Gate + Try-Fix for full end-to-end pipeline
Copilot May 11, 2026
9350c94
Move comment posting + labels to Stage 3
Copilot May 11, 2026
87f430a
Address all 6 review comments
Copilot May 11, 2026
58edf44
Address 3 critical review findings (C2, C4, C5)
Copilot May 11, 2026
4b48266
Fully resolve C2: extract all 3 functions + eliminate Invoke-Expression
Copilot May 11, 2026
a3fcfed
Fix Get-TrxResults.ps1 path resolution for Copilot CLI context
Copilot May 11, 2026
323fc2e
Restore inline Get-TrxResults in Review-PR.ps1 (Copilot CLI compat)
Copilot May 11, 2026
1c3620d
Fix Stage 3 parser error: use variable for code fence backticks
Copilot May 11, 2026
bea4bd8
Fix all backtick/quote escaping in Stage 3 inline PowerShell
Copilot May 11, 2026
8788ad2
Rename Stage 3 from 'Update/Edit' to 'Post AI Summary Comment'
Copilot May 11, 2026
c90bcf6
Replace in-process SKIPPED results with deep results, not append
Copilot May 11, 2026
a4dd2e9
Fix Stage 3: post review-only comment when Deep stage is skipped
Copilot May 11, 2026
e117fea
Fix in-process results stripping — emoji char match was broken
Copilot May 11, 2026
97f2c9f
Add retryCountOnTaskFailure:2 to deep UI tests step
Copilot May 11, 2026
462e2a6
Add per-test retry for Android flaky failures
Copilot May 12, 2026
dababee
Improve Android ADB broken pipe retry: 3 attempts + PM health check
Copilot May 12, 2026
37b0123
Fix emulator DEVICE_ID capture: use ID from boot detection
Copilot May 12, 2026
e902261
Revert "Fix emulator DEVICE_ID capture: use ID from boot detection"
Copilot May 12, 2026
a2cc33a
Fix emulator DEVICE_ID: capture during boot, fallback to emulator-5554
Copilot May 12, 2026
65f96a1
Fix emulator warm-up: increase timeout 3→6m, add retry, boot-wait on …
Copilot May 12, 2026
90402aa
Add stale emulator process cleanup to both pipeline stages
Copilot May 13, 2026
983282e
Split STEP 6 into two copilot calls: Expert Review + Try-Fix
Copilot May 13, 2026
98bb34e
Try-Fix: generate as many candidates as needed, not a fixed count
Copilot May 13, 2026
68409ef
Reorder workflow: Try-Fix first, then Expert Review + Compare
Copilot May 13, 2026
471e715
Try-Fix: iterative expert-review-and-test loop per candidate
Copilot May 13, 2026
9997722
Add diagnostic logging between STEP 6a and 6b
Copilot May 13, 2026
e05cf3e
Fix inline findings not posted when DEFER_COMMENT_TO_STAGE3=true
Copilot May 19, 2026
127378f
Fix nil body in inline review comments causing HTTP 422
Copilot May 19, 2026
03da777
Fix findings array unwrapping in post-inline-review.ps1
Copilot May 19, 2026
af21f6b
Pipeline improvements: dedup, fail-fast merge, partial-success fix
Copilot May 19, 2026
8741834
Fix findings JSON wrapper + merge conflict comment token
Copilot May 20, 2026
3f9dc96
Revert fail-fast merge conflict and dedup checks
Copilot May 20, 2026
0a53bef
Fix multimodal review findings: TRX, retry, categories, patterns
Copilot May 20, 2026
9757509
Fix round 2 review findings: ALL mode, env patterns, fallbacks
Copilot May 20, 2026
5afa057
Fix round 3: category prefixes, counter math, merge safety, inline copy
Copilot May 20, 2026
bcc2218
Fix ALL mode: make TestFilter optional, handle no-filter invocation
Copilot May 20, 2026
a1bc6ba
Add Windows and Catalyst deep UI test support in Stage 2
Copilot May 20, 2026
72e92b0
Fix null effectiveFilter crash in ALL mode summary
Copilot May 20, 2026
bd78e2b
Remove accidentally committed temp files
Copilot May 20, 2026
7e30e56
Fix regex::Escape on env-error patterns in STEP 3 fallback
Copilot May 20, 2026
45c5460
Fix Windows artifact copy: use pwsh instead of bash for cross-platform
Copilot May 21, 2026
da07f00
Fix inline review: support both 'file' and 'path' keys in findings JSON
Copilot May 21, 2026
be38d1b
Run Stage 2 deep UI tests even when ReviewPR stage fails
Copilot May 21, 2026
b56e6af
Fix Stage 3: always download deep-uitests artifact, add diagnostics
Copilot May 21, 2026
3042520
Fix inline findings parsing: robust wrapper detection + diagnostics
Copilot May 21, 2026
553a8c7
Fix scripts lost after branch switch: backup and restore from pipelin…
Copilot May 21, 2026
7eaffe4
Fix: CI stays on pipeline branch, never switches to origin/main
Copilot May 21, 2026
24dde9c
Fix: use claude-opus-4.6 as default model (4.7-1m-internal unavailable)
Copilot May 21, 2026
3f56e09
Switch default model to GPT-5.5
Copilot May 21, 2026
327a75c
Remove stray .playwright-mcp and screenshots from .gitignore
Copilot May 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/agents/maui-expert-reviewer.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ Every bug fix needs a regression test. Modified code must be checked against git
- CHECK: Test covers the specific scenario from the issue report, not a generic case
- CHECK: Shared code changes are tested on all affected platforms
- CHECK: Previously-fixed issue numbers are cross-referenced when modifying the same code area
- CHECK: If `regression-check/risks.json` exists and contains `REVERT` entries, list the affected fix PRs/issues and require author acknowledgment that the reverted fix is intentional. The regression cross-reference script (`Find-RegressionRisks.ps1`) detects when a PR deletes lines that were previously added by a labeled bug-fix PR.
- CHECK: UI tests run on all applicable platforms unless there is a specific technical limitation
- CHECK: Snapshot baselines updated across all platforms when changing background color, font, or layout
- CHECK: Screenshot size matches capture method — a size mismatch means the capture changed, not the rendering
Expand Down
235 changes: 208 additions & 27 deletions .github/scripts/BuildAndRunHostApp.ps1

Large diffs are not rendered by default.

Loading
Loading