Skip to content

Commit cd5374b

Browse files
authored
Skip Xcode provisioning for RunOnAndroid integration tests (dotnet#34053)
RunOnAndroid integration tests run on macOS but only test Android emulator scenarios. They were provisioning Xcode unnecessarily, wasting ~5-10 minutes per test run. ## Changes - **`setup-test-env.yml`**: Added `skipXcode` parameter (default `false`) - Passes value to `provision.yml` for both `skipXcode` and `skipSimulatorSetup` - **`stage-integration-tests.yml`**: Skip Xcode for Android-only tests - `skipXcode: ${{ eq(job.testCategory, 'RunOnAndroid') }}` - All other categories (Build, Blazor, MultiProject, macOSTemplates, AOT, RunOniOS) continue provisioning Xcode as they build or run iOS/macOS targets ```yaml - template: /eng/pipelines/arcade/setup-test-env.yml parameters: mauiSourcePath: ${{ parameters.mauiSourcePath }} buildConfig: ${{ parameters.buildConfig }} repoLogPath: ${{ parameters.repoLogPath }} # Skip Xcode provisioning for Android-only tests (RunOnAndroid category) # All other tests may build or run iOS/macOS targets and need Xcode skipXcode: ${{ eq(job.testCategory, 'RunOnAndroid') }} ``` Backward compatible - no behavior change for existing tests. > [!WARNING] > > <details> > <summary>Firewall rules blocked me from connecting to one or more addresses (expand for details)</summary> > > #### I tried to connect to the following addresses, but was blocked by firewall rules: > > - `https://api.github.com/graphql` > - Triggering command: `/usr/bin/gh gh issue view 34049 --json title,body,comments --jq {title: .title, body: .body, comments: [.comments[] | {author: .author.login, body: .body}]}` (http block) > > If you need me to access, download, or install something from one of these locations, you can either: > > - Configure [Actions setup steps](https://gh.io/copilot/actions-setup-steps) to set up my environment, which run before the firewall is enabled > - Add the appropriate URLs or hosts to the custom allowlist in this repository's [Copilot coding agent settings](https://github.com/dotnet/maui/settings/copilot/coding_agent) (admins only) > > </details> <!-- START COPILOT CODING AGENT TIPS --> --- ✨ Let Copilot coding agent [set things up for you](https://github.com/dotnet/maui/issues/new?title=✨+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot) — coding agent works faster and does higher quality work when set up for your repo.
2 parents 1c11847 + 680c967 commit cd5374b

2 files changed

Lines changed: 6 additions & 2 deletions

File tree

eng/pipelines/arcade/setup-test-env.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ parameters:
55
installPackageArtifacts: true
66
buildMSBuildTasks: false
77
androidSdkRoot: $(ANDROID_SDK_ROOT)
8+
skipXcode: false
89

910
steps:
1011
- checkout: self
@@ -21,8 +22,8 @@ steps:
2122
skipAndroidEmulatorImages: true
2223
skipAndroidCreateAvds: true
2324
skipProvisioning: true
24-
skipXcode: false
25-
skipSimulatorSetup: false
25+
skipXcode: ${{ parameters.skipXcode }}
26+
skipSimulatorSetup: ${{ parameters.skipXcode }}
2627

2728
- task: UseDotNet@2
2829
displayName: 'Use .NET SDK $(DOTNET_VERSION)'

eng/pipelines/arcade/stage-integration-tests.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ stages:
3333
mauiSourcePath: ${{ parameters.mauiSourcePath }}
3434
buildConfig: ${{ parameters.buildConfig }}
3535
repoLogPath: ${{ parameters.repoLogPath }}
36+
# Skip Xcode provisioning for Android-only tests (RunOnAndroid category)
37+
# All other tests may build or run iOS/macOS targets and need Xcode
38+
skipXcode: ${{ eq(job.testCategory, 'RunOnAndroid') }}
3639

3740
- template: /eng/pipelines/common/run-dotnet-preview.yml
3841
parameters:

0 commit comments

Comments
 (0)