From deb8d5e791a6077f5a40c8f630a22f0692a2ba77 Mon Sep 17 00:00:00 2001 From: Rui Marinho Date: Thu, 23 May 2024 17:15:04 +0100 Subject: [PATCH 1/2] [ios] Bump xcode 15.3.0 --- eng/pipelines/common/variables.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/common/variables.yml b/eng/pipelines/common/variables.yml index f0c4d0a1c2af..38d2a188e5ec 100644 --- a/eng/pipelines/common/variables.yml +++ b/eng/pipelines/common/variables.yml @@ -8,9 +8,9 @@ variables: - name: DOTNET_VERSION value: 8.0.300 - name: REQUIRED_XCODE - value: 15.2.0 + value: 15.3.0 - name: DEVICETESTS_REQUIRED_XCODE - value: 15.2.0 + value: 15.3.0 - name: LocBranchPrefix value: 'loc-hb' - name: isMainBranch From 32b3b8edb52eabc5d64cf045feb15bea57b60735 Mon Sep 17 00:00:00 2001 From: Rui Marinho Date: Wed, 10 Jul 2024 14:26:20 +0100 Subject: [PATCH 2/2] Move to sonoma and XCode 15.4.0 Move uitests to Sonoma too Fix pack Move to macOS-14 Move also device tests catalyst try use azure pipelines Dont use azure pipelines [ios] Move to XCode 15.4 Can android run on sonoma only Try not cleanup on iOS Azure pipelines Try again skip cleanup Fix Need to provision the certs Fix Fix --- eng/pipelines/common/device-tests-steps.yml | 19 ++++--------- eng/pipelines/common/device-tests.yml | 4 +++ eng/pipelines/common/maui-templates.yml | 6 ++-- eng/pipelines/common/provision.yml | 31 +++++++-------------- eng/pipelines/common/variables.yml | 4 +-- eng/pipelines/device-tests.yml | 9 ++---- eng/pipelines/handlers.yml | 10 +++---- eng/pipelines/ui-tests.yml | 10 +++---- 8 files changed, 37 insertions(+), 56 deletions(-) diff --git a/eng/pipelines/common/device-tests-steps.yml b/eng/pipelines/common/device-tests-steps.yml index 4400dd2c92e2..f597e308e244 100644 --- a/eng/pipelines/common/device-tests-steps.yml +++ b/eng/pipelines/common/device-tests-steps.yml @@ -11,9 +11,10 @@ parameters: checkoutDirectory: $(System.DefaultWorkingDirectory) useArtifacts: false rebootAgent: true + poolName: 'Azure Pipelines' steps: - - ${{ if eq(parameters.platform, 'ios')}}: + - ${{ if and(eq(parameters.platform, 'ios'), ne(parameters.poolName, 'Azure Pipelines')) }}: - bash: | chmod +x $(System.DefaultWorkingDirectory)/eng/scripts/clean-bot.sh chmod +x $(System.DefaultWorkingDirectory)/eng/scripts/clean-simulator-runtime.sh @@ -29,9 +30,8 @@ steps: platform: macos skipXcode: ${{ or(eq(parameters.platform, 'android'), eq(parameters.platform, 'windows')) }} skipProvisioning: ${{ eq(parameters.platform, 'windows') }} - ${{ if eq(parameters.platform, 'ios')}}: - skipAndroidSdks: false - skipAndroidImages: true + skipAndroidImages : ${{ eq(parameters.platform, 'ios') }} + skipAndroidSdks: ${{ eq(parameters.platform, 'ios') }} provisionatorChannel: ${{ parameters.provisionatorChannel }} - pwsh: ./build.ps1 --target=dotnet --configuration="Release" --verbosity=diagnostic @@ -120,15 +120,6 @@ steps: condition: always() continueOnError: true - - - ${{ if eq(parameters.platform, 'ios')}}: - - bash: | - zip -9r "$(LogDirectory)/CoreSimulatorLog.zip" "$HOME/Library/Logs/CoreSimulator/" - zip -9r "$(LogDirectory)/DiagnosticReports.zip" "$HOME/Library/Logs/DiagnosticReports/" - displayName: Zip Simulator Logs - condition: always() - continueOnError: true - - task: PublishTestResults@2 displayName: Publish the $(Agent.JobName) test results condition: always() @@ -143,7 +134,7 @@ steps: inputs: artifactName: '$(Agent.JobName) (attempt $(System.JobAttempt))' - - ${{ if eq(parameters.rebootAgent, true) }}: + - ${{ if and(eq(parameters.platform, 'ios'), ne(parameters.poolName, 'Azure Pipelines')) }}: # This must always be placed as the last step in the job - template: agent-rebooter/mac.v1.yml@yaml-templates parameters: diff --git a/eng/pipelines/common/device-tests.yml b/eng/pipelines/common/device-tests.yml index 1f44dd41e485..b9c562368761 100644 --- a/eng/pipelines/common/device-tests.yml +++ b/eng/pipelines/common/device-tests.yml @@ -61,6 +61,7 @@ stages: artifactItemPattern: ${{ parameters.artifactItemPattern }} checkoutDirectory: ${{ parameters.checkoutDirectory }} useArtifacts: ${{ parameters.useArtifacts }} + poolName: ${{ parameters.androidPool.name }} - stage: ios_device_tests displayName: iOS Device Tests @@ -102,6 +103,7 @@ stages: artifactItemPattern: ${{ parameters.artifactItemPattern }} checkoutDirectory: ${{ parameters.checkoutDirectory }} useArtifacts: ${{ parameters.useArtifacts }} + poolName: 'Azure Pipelines' - stage: catalyst_device_tests displayName: macOS Device Tests @@ -141,6 +143,8 @@ stages: artifactItemPattern: ${{ parameters.artifactItemPattern }} checkoutDirectory: ${{ parameters.checkoutDirectory }} useArtifacts: ${{ parameters.useArtifacts }} + poolName: 'Azure Pipelines' + - stage: windows_device_tests displayName: Windows Device Tests diff --git a/eng/pipelines/common/maui-templates.yml b/eng/pipelines/common/maui-templates.yml index 505af0f9c797..29d0e06fd6ee 100644 --- a/eng/pipelines/common/maui-templates.yml +++ b/eng/pipelines/common/maui-templates.yml @@ -36,14 +36,14 @@ parameters: - name: $(androidTestsVmPool) vmImage: $(androidTestsVmImage) demands: - - macOS.Name -equals Ventura + - macOS.Name -equals Sonoma - macOS.Architecture -equals x64 testName: RunOnAndroid artifact: templates-run-android - name: $(iosTestsVmPool) vmImage: $(iosTestsVmImage) demands: - - macOS.Name -equals Ventura + - macOS.Name -equals Sonoma - macOS.Architecture -equals x64 testName: RunOniOS artifact: templates-run-ios @@ -71,7 +71,7 @@ jobs: name: $(POOL_NAME) vmImage: $(POOL_VIMAGE) demands: - - macOS.Name -equals Ventura + - macOS.Name -equals Sonoma - macOS.Architecture -equals x64 steps: diff --git a/eng/pipelines/common/provision.yml b/eng/pipelines/common/provision.yml index 6c50effa4344..6b3cdd86b498 100644 --- a/eng/pipelines/common/provision.yml +++ b/eng/pipelines/common/provision.yml @@ -15,14 +15,15 @@ parameters: steps: # Prepare macOS - - template: agent-cleanser/v1.yml@yaml-templates - parameters: - condition: and(succeeded(), eq(variables['Agent.OS'], 'Darwin')) - UninstallMono: false - UninstallXamarinMac: false - CleanseAgentToolsDotNet: true # Cleanse all .NET versions under the agent tools directory and use only those provisioned by the pipeline - SelfHealPowerShell: false - AUTH_TOKEN_GITHUB_COM: $(github--pat--vs-mobiletools-engineering-service2) + - ${{ if ne(parameters.poolName, 'Azure Pipelines') }}: + - template: agent-cleanser/v1.yml@yaml-templates + parameters: + condition: and(succeeded(), eq(variables['Agent.OS'], 'Darwin')) + UninstallMono: false + UninstallXamarinMac: false + CleanseAgentToolsDotNet: true # Cleanse all .NET versions under the agent tools directory and use only those provisioned by the pipeline + SelfHealPowerShell: false + AUTH_TOKEN_GITHUB_COM: $(github--pat--vs-mobiletools-engineering-service2) # Provision Xcode - ${{ if ne(parameters.skipXcode, 'true') }}: - task: xamops.azdevex.provisionator-task.provisionator@2 @@ -147,16 +148,4 @@ steps: filePath: $(System.DefaultWorkingDirectory)/eng/common/SetupNugetSources.ps1 arguments: -ConfigFile $(System.DefaultWorkingDirectory)/NuGet.config -Password $Env:Token env: - Token: $(dn-bot-dnceng-artifact-feeds-rw) - # Prepare for Reunion packages - # - ${{ if eq(variables['System.TeamProject'], 'devdiv') }}: - # - task: NuGetAuthenticate@0 - # displayName: 'Authenticate Reunion NuGet sources' - # inputs: - # nuGetServiceConnections: Project.Reunion.nuget.internal - # - pwsh: | - # $path = '$(Build.SourcesDirectory)\NuGet.config' - # [xml]$xml = Get-Content $path - # $xml.configuration.RemoveChild($xml.configuration.disabledPackageSources) - # $xml.Save($path) - # displayName: 'Add "wasdk-internal" to NuGet.config' + Token: $(dn-bot-dnceng-artifact-feeds-rw) \ No newline at end of file diff --git a/eng/pipelines/common/variables.yml b/eng/pipelines/common/variables.yml index 38d2a188e5ec..1f5de7bfbdcd 100644 --- a/eng/pipelines/common/variables.yml +++ b/eng/pipelines/common/variables.yml @@ -8,9 +8,9 @@ variables: - name: DOTNET_VERSION value: 8.0.300 - name: REQUIRED_XCODE - value: 15.3.0 + value: 15.4.0 - name: DEVICETESTS_REQUIRED_XCODE - value: 15.3.0 + value: 15.4.0 - name: LocBranchPrefix value: 'loc-hb' - name: isMainBranch diff --git a/eng/pipelines/device-tests.yml b/eng/pipelines/device-tests.yml index e6ecfff5a109..d127ac23ab1f 100644 --- a/eng/pipelines/device-tests.yml +++ b/eng/pipelines/device-tests.yml @@ -69,17 +69,14 @@ parameters: - name: iosPool type: object default: - name: $(iosTestsVmPool) - vmImage: $(iosTestsVmImage) - demands: - - macOS.Name -equals Ventura - - macOS.Architecture -equals x64 + name: $(macosTestsVmPool) + vmImage: macOS-14 - name: catalystPool type: object default: name: $(macosTestsVmPool) - vmImage: $(macosTestsVmImage) + vmImage: macOS-14 - name: windowsPool type: object diff --git a/eng/pipelines/handlers.yml b/eng/pipelines/handlers.yml index 7d6fd2fda87e..1fe1ee590531 100644 --- a/eng/pipelines/handlers.yml +++ b/eng/pipelines/handlers.yml @@ -101,14 +101,14 @@ parameters: - name: $(androidTestsVmPool) vmImage: $(androidTestsVmImage) demands: - - macOS.Name -equals Ventura + - macOS.Name -equals Sonoma - macOS.Architecture -equals x64 testName: RunOnAndroid artifact: templates-run-android - name: $(iosTestsVmPool) vmImage: $(iosTestsVmImage) demands: - - macOS.Name -equals Ventura + - macOS.Name -equals Sonoma - macOS.Architecture -equals x64 testName: RunOniOS artifact: templates-run-ios @@ -155,7 +155,7 @@ stages: name: ${{ BuildPlatform.poolName }} vmImage: ${{ BuildPlatform.vmImage }} demands: - - macOS.Name -equals Ventura + - macOS.Name -equals Sonoma - macOS.Architecture -equals x64 steps: - template: common/provision.yml @@ -197,7 +197,7 @@ stages: name: ${{ PackPlatform.poolName }} vmImage: ${{ PackPlatform.vmImage }} demands: - - macOS.Name -equals Ventura + - macOS.Name -equals Sonoma - macOS.Architecture -equals x64 variables: - name: _buildScript @@ -245,7 +245,7 @@ stages: name: ${{ BuildPlatform.poolName }} vmImage: ${{ BuildPlatform.vmImage }} demands: - - macOS.Name -equals Ventura + - macOS.Name -equals Sonoma - macOS.Architecture -equals x64 steps: - template: common/provision.yml diff --git a/eng/pipelines/ui-tests.yml b/eng/pipelines/ui-tests.yml index c7e09bfb3ffc..d6b488bd64a5 100644 --- a/eng/pipelines/ui-tests.yml +++ b/eng/pipelines/ui-tests.yml @@ -67,7 +67,7 @@ parameters: name: $(androidTestsVmPool) vmImage: $(androidTestsVmImage) demands: - - macOS.Name -equals Ventura + - macOS.Name -equals Sonoma - macOS.Architecture -equals x64 - name: iosPool @@ -76,7 +76,7 @@ parameters: name: $(iosTestsVmPool) vmImage: $(iosTestsVmImage) demands: - - macOS.Name -equals Ventura + - macOS.Name -equals Sonoma - macOS.Architecture -equals x64 - name: windowsPool @@ -89,7 +89,7 @@ parameters: type: object default: name: $(macosTestsVmPool) - vmImage: $(macosTestsVmImage) + vmImage: macOS-14 - name: androidCompatibilityPool type: object @@ -97,7 +97,7 @@ parameters: name: $(androidTestsVmPool) vmImage: $(androidTestsVmImage) demands: - - macOS.Name -equals Ventura + - macOS.Name -equals Sonoma - macOS.Architecture -equals x64 - name: iosCompatibilityPool @@ -106,7 +106,7 @@ parameters: name: $(androidTestsVmPool) vmImage: $(androidTestsVmImage) demands: - - macOS.Name -equals Ventura + - macOS.Name -equals Sonoma - macOS.Architecture -equals x64 resources: