-
Notifications
You must be signed in to change notification settings - Fork 1.9k
[testing] Dont fail xcode script #33801
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
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 modifies the CI/CD pipeline configuration to prevent failures when Xcode 16 is not found on macOS-14 runners used for MacCatalyst UI tests. The changes make Xcode provisioning more lenient by skipping it entirely for catalyst platform and converting fatal errors to warnings when the requested version is unavailable.
Changes:
- Added 'catalyst' platform to the list of platforms that skip Xcode provisioning
- Changed exit code from 1 to 0 when no suitable Xcode version is found, converting a failure to a warning
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| eng/pipelines/common/ui-tests-steps.yml | Adds catalyst platform to skipXcode condition to prevent attempting Xcode provisioning |
| eng/pipelines/common/provision.yml | Changes exit code from failure (1) to success (0) when Xcode version not found |
| echo "ERROR: No suitable Xcode version found for requested version ${ORIGINAL_VERSION}" | ||
| echo "Tried: ${VERSIONS_TO_TRY[*]}" | ||
| exit 1 | ||
| exit 0 |
Copilot
AI
Jan 30, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changing the exit code from 1 to 0 when no suitable Xcode version is found masks a potentially serious configuration error. This could allow builds to proceed without the required toolchain, leading to silent failures or incorrect build artifacts. Instead of masking the error globally, consider conditionally handling this based on whether Xcode is actually required for the current platform (e.g., check if skipXcode is true before deciding the exit code).
| @@ -144,7 +144,7 @@ steps: | |||
| if [[ -z "$XCODE_PATH" ]]; then | |||
| echo "ERROR: No suitable Xcode version found for requested version ${ORIGINAL_VERSION}" | |||
Copilot
AI
Jan 30, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The error message claims 'ERROR' but the script now exits with success (0). This creates confusion about whether this is an actual error condition. If this is now an acceptable state, change the message to 'WARNING' or 'INFO' to match the exit code behavior.
| echo "ERROR: No suitable Xcode version found for requested version ${ORIGINAL_VERSION}" | |
| echo "WARNING: No suitable Xcode version found for requested version ${ORIGINAL_VERSION}" |
| skipAndroidCreateAvds: true | ||
| androidEmulatorApiLevel: ${{ parameters.version }} | ||
| skipXcode: ${{ or(eq(parameters.platform, 'android'), eq(parameters.platform, 'windows')) }} | ||
| skipXcode: ${{ or(eq(parameters.platform, 'android'), eq(parameters.platform, 'windows'), eq(parameters.platform, 'catalyst')) }} |
Copilot
AI
Jan 30, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The PR title contains 'testting' which should be 'testing'. While this doesn't affect the code, it's visible in the repository history.
|
/azp run maui-pr-uitests |
|
Azure Pipelines successfully started running 1 pipeline(s). |
### Description of Change Our maccatalyst uitests run in a macOS-14 still, the new provisioning script was failing with Exit code 1 when doesn t find Xcode 26.
Description of Change
Our maccatalyst uitests run in a macOS-14 still, the new provisioning script was failing with Exit code 1 when doesn t find Xcode 26.