[build] Fix YAML error: remove duplicate AndroidPoolLinux parameter in ci.yml#34286
[build] Fix YAML error: remove duplicate AndroidPoolLinux parameter in ci.yml#34286
Conversation
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.sh | bash -s -- 34286Or
iex "& { $(irm https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.ps1) } 34286" |
The AndroidPoolLinux parameter was defined three times in eng/pipelines/ci.yml on the net11.0 branch, causing Azure DevOps to reject the YAML with: 'There was a YAML error preventing Azure Pipelines from determining if the pipeline should run.' This resulted in the maui-pr pipeline being canceled as an informational run on every net11.0 push. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
04f8e54 to
2c764b1
Compare
There was a problem hiding this comment.
Pull request overview
This pull request claims to fix a YAML duplicate parameter error in eng/pipelines/ci.yml, but the actual changes are far more extensive. The PR contains approximately 3,000+ lines of changes focused primarily on UI test infrastructure improvements to handle frozen/unresponsive applications, along with various other enhancements.
Changes:
- UI Test Infrastructure: Added timeout wrappers (
RunWithTimeout) to prevent tests from hanging when apps become unresponsive, implemented force-close functionality for all platforms, and added app state checking with retry logic - Source Generator Fix: Fixed C# expression binding to not generate setters for read-only properties (#34075)
- Test Updates: Adjusted timeouts across multiple tests, refactored Issue3275/Issue1905/Issue3001/Issue16910 for better reliability and self-verification
- Script Enhancements: Improved get-maui-pr scripts with Azure DevOps fallback and build-in-progress detection
- Documentation: Major rewrite of cli.md design document, added dangerous commands warning to uitests.instructions.md, updated pipeline names in copilot-instructions.md
- Workflow Changes: Changed dogfood-comment trigger from check_run to pull_request_target, added bump-global-json workflow
Reviewed changes
Copilot reviewed 1 out of 1 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
eng/pipelines/ci.yml |
MacOSPool configuration comments, pool name changes |
src/TestUtils/src/UITest.NUnit/UITestBase.cs |
App state timeout detection with retry, force-close on freeze |
src/TestUtils/src/UITest.Appium/HelperExtensions.cs |
RunWithTimeout wrapper (45s) for all Appium operations |
src/TestUtils/src/UITest.Appium/AppiumCatalystApp.cs |
Added app path capability for mac2 driver |
src/TestUtils/src/UITest.Appium/Actions/AppiumLifecycleActions.cs |
ForceCloseApp command with platform-specific OS commands |
src/Controls/tests/Xaml.UnitTests/Issues/Maui34075.* |
Test for read-only property binding fix |
src/Controls/tests/TestCases.Shared.Tests/UITest.cs |
MAC_APP_PATH environment variable support |
src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/*.cs |
Timeout adjustments, test refactoring for reliability |
src/Controls/tests/TestCases.HostApp/Issues/*.cs |
Simplified test pages, self-verifying patterns |
src/Controls/src/SourceGen/SetPropertyHelpers.cs |
IsExpressionWritable check for read-only properties |
eng/scripts/get-maui-pr.* |
Azure DevOps API fallback, build-in-progress detection |
docs/design/cli.md |
Comprehensive rewrite focusing on environment setup |
.github/workflows/dogfood-comment.yml |
Changed trigger to pull_request_target |
.github/workflows/bump-global-json.yml |
New workflow for Maestro PR updates |
.github/scripts/*.ps1 |
Emulator selection improvements, MAC_APP_PATH support |
.github/instructions/uitests.instructions.md |
Added dangerous commands warning |
.github/copilot-instructions.md |
Updated pipeline names |
README.md |
Removed build status badges |
| - name: AndroidPoolLinux | ||
| type: object | ||
| default: | ||
| name: MAUI-DNCENG | ||
| demands: | ||
| - ImageOverride -equals 1ESPT-Ubuntu22.04 | ||
|
|
There was a problem hiding this comment.
Critical: PR description does not match actual changes
The PR title and description claim this fixes a YAML error by removing "duplicate AndroidPoolLinux parameter definitions" that were causing builds to fail. However, examining the diff shows:
- Only ONE AndroidPoolLinux definition exists (lines 117-123) - there are no duplicates being removed
- The actual changes are massive: This PR includes 3,000+ lines of unrelated changes to UI test infrastructure, test fixes, source generator improvements, script enhancements, and documentation updates
- No YAML duplicate removal is shown in the diff
The PR description mentions builds 1311444, 1310760, and 1310272 failing due to duplicate parameters on net11.0 branch, but:
- This appears to be for the net11.0 branch, not main
- The diff shows no duplicate parameter removal
- The changes are overwhelmingly focused on UI test infrastructure improvements, not YAML fixes
This is a severe discrepancy between PR description and actual content. Either:
- The YAML fix was already applied and this PR includes it plus many other changes
- The PR description is for a different change entirely
- This PR is mislabeled and should describe the UI test infrastructure improvements as the primary change
|
/azp run maui-pr-devicetests |
|
/azp run maui-pr-uitests |
|
Azure Pipelines successfully started running 1 pipeline(s). |
1 similar comment
|
Azure Pipelines successfully started running 1 pipeline(s). |
Note
Are you waiting for the changes in this PR to be merged?
It would be very helpful if you could test the resulting artifacts from this PR and let us know in a comment if this change resolves your issue. Thank you!
Description
The
AndroidPoolLinuxparameter was defined three times ineng/pipelines/ci.ymlon thenet11.0branch, causing Azure DevOps to reject the YAML with:This resulted in the
maui-prpipeline being canceled as an informational run on everynet11.0push (builds 1311444, 1310760, 1310272).Changes
Removed 2 duplicate
AndroidPoolLinuxparameter definitions, keeping only one. All three were identical.Testing