From a8aeb8c081d6119006ae6e979b6429eec6fc358c Mon Sep 17 00:00:00 2001 From: Peter Collins Date: Thu, 20 Jul 2023 12:11:21 -0400 Subject: [PATCH] [ci] Use static macOS pool for nightly emulator tests Attempts to improve the reliability and performance of our nightly emulator tests by using a machine pool containing static mac minis that are more performant than the hosted VMs. --- .../automation/azure-pipelines-nightly.yaml | 21 ++++++++++++++----- .../yaml-templates/run-emulator-tests.yaml | 7 ++++++- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/build-tools/automation/azure-pipelines-nightly.yaml b/build-tools/automation/azure-pipelines-nightly.yaml index be6442f7253..a67b701fbb3 100644 --- a/build-tools/automation/azure-pipelines-nightly.yaml +++ b/build-tools/automation/azure-pipelines-nightly.yaml @@ -153,6 +153,7 @@ stages: parameters: emulatorMSBuildArgs: -p:TestAvdExtraBootArgs=-writable-system jobName: SystemApplicationTests + jobTimeout: 120 testSteps: - template: run-nunit-tests.yaml parameters: @@ -173,13 +174,18 @@ stages: - job: mac_timezoneinfo_tests displayName: TimeZoneInfoTests Emulator Tests strategy: - parallel: 4 + parallel: 3 pool: - vmImage: $(HostedMacImage) + name: VSEng-VSMac-Xamarin-Shared + demands: + - macOS.Name -equals Ventura + - macOS.Architecture -equals x64 timeoutInMinutes: 120 workspace: clean: all steps: + - template: agent-cleanser/v1.yml@yaml-templates + - template: yaml-templates/setup-test-environment.yaml parameters: installTestSlicer: true @@ -221,13 +227,18 @@ stages: - job: mac_localization_tests displayName: Localization Emulator Tests strategy: - parallel: 10 + parallel: 6 pool: - vmImage: $(HostedMacImage) + name: VSEng-VSMac-Xamarin-Shared + demands: + - macOS.Name -equals Ventura + - macOS.Architecture -equals x64 timeoutInMinutes: 150 workspace: clean: all steps: + - template: agent-cleanser/v1.yml@yaml-templates + - template: yaml-templates/setup-test-environment.yaml parameters: installTestSlicer: true @@ -249,7 +260,7 @@ stages: parameters: testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll testFilter: method == CheckLocalizationIsCorrectWithSlicer - testRunTitle: CheckTimeZoneInfoIsCorrect On Device - macOS + testRunTitle: CheckLocalizationIsCorrect On Device - macOS - template: yaml-templates/upload-results.yaml parameters: diff --git a/build-tools/automation/yaml-templates/run-emulator-tests.yaml b/build-tools/automation/yaml-templates/run-emulator-tests.yaml index 81b115b8c06..cd43adf44bf 100644 --- a/build-tools/automation/yaml-templates/run-emulator-tests.yaml +++ b/build-tools/automation/yaml-templates/run-emulator-tests.yaml @@ -10,11 +10,16 @@ jobs: - job: mac_${{ parameters.jobName }}_tests displayName: ${{ parameters.jobName }} Emulator Tests pool: - vmImage: $(HostedMacImage) + name: VSEng-VSMac-Xamarin-Shared + demands: + - macOS.Name -equals Ventura + - macOS.Architecture -equals x64 timeoutInMinutes: ${{ parameters.jobTimeout }} workspace: clean: all steps: + - template: agent-cleanser/v1.yml@yaml-templates + - template: setup-test-environment.yaml parameters: installLegacyDotNet: false