diff --git a/eng/helix_xharness.proj b/eng/helix_xharness.proj
index 58ce1b2afbae..9e17e187b277 100644
--- a/eng/helix_xharness.proj
+++ b/eng/helix_xharness.proj
@@ -3,8 +3,8 @@
test/devices/
$(BUILD_BUILDNUMBER)
default
- osx.15.arm64.maui.open
- osx.15.arm64.maui.open
+ osx.15.arm64.maui.open;osx.arm64.scouting.open
+ osx.15.arm64.maui.open;osx.arm64.scouting.open
ubuntu.2204.amd64.android.33.open
true
maui
diff --git a/eng/pipelines/common/device-tests-jobs.yml b/eng/pipelines/common/device-tests-jobs.yml
index a2c726bfb83a..44dd813fcc04 100644
--- a/eng/pipelines/common/device-tests-jobs.yml
+++ b/eng/pipelines/common/device-tests-jobs.yml
@@ -78,7 +78,7 @@ jobs:
apiVersion: ${{ replace(version, 'device-', '') }}
${{ if contains(version, 'latest') }}:
device: ios-simulator-64
- apiVersion: 18.5
+ apiVersion: 26.0
${{ else }}:
device: ios-simulator-64_${{ replace(version, 'simulator-', '') }}
apiVersion: ${{ replace(version, 'simulator-', '') }}
diff --git a/eng/pipelines/device-tests.yml b/eng/pipelines/device-tests.yml
index 7694a6a92489..2ece38e7034d 100644
--- a/eng/pipelines/device-tests.yml
+++ b/eng/pipelines/device-tests.yml
@@ -110,146 +110,83 @@ parameters:
stages:
- ${{ each targetFrameworkVersion in parameters.targetFrameworkVersions }}:
- # Run on dnceng-public (Helix)
- - ${{ if eq(variables['Build.DefinitionName'], 'maui-pr-devicetests') }}:
-
- # Use Helix for iOS / Android and MacCatalyst Device Tests
- - template: /eng/pipelines/arcade/stage-device-tests.yml@self
- parameters:
- buildPool: ${{ parameters.macOSHelixPool }}
- testPool: ${{ parameters.macOSPool }}
- runAsPublic: true
- TargetFrameworkVersion: ${{ targetFrameworkVersion.tfm }}
- prepareSteps:
- - template: /eng/pipelines/common/provision.yml@self
- parameters:
- checkoutDirectory: '$(System.DefaultWorkingDirectory)'
- skipJdk: false
- skipAndroidCommonSdks: false
- skipAndroidPlatformApis: false
- onlyAndroidPlatformDefaultApis: true
- skipAndroidEmulatorImages: true
- skipAndroidCreateAvds: true
- skipProvisioning: true
- skipXcode: false
- skipSimulatorSetup: false
-
- # Just use the old way for Windows Device Tests
- - template: common/device-tests.yml
- parameters:
- windowsPool: ${{ parameters.windowsPool }}
- targetFrameworkVersion: ${{ targetFrameworkVersion }}
+ - template: common/device-tests.yml
+ parameters:
+ androidPool: ${{ parameters.androidPool }}
+ iosPool: ${{ parameters.iosPool }}
+ catalystPool: ${{ parameters.catalystPool }}
+ windowsPool: ${{ parameters.windowsPool }}
+ targetFrameworkVersion: ${{ targetFrameworkVersion }}
+ ${{ if or(parameters.BuildEverything, and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['System.TeamProject'], 'devdiv'))) }}:
+ androidApiLevels: [ 36, 35, 33, 30, 29, 27, 26, 25, 24, 23 ]
+ iosVersions: [ 'simulator-18.4', 'simulator-26.0' ]
+ catalystVersions: [ 'latest' ]
windowsVersions: [ 'packaged', 'unpackaged' ]
- skipProvisioning: true
- projects:
- - name: essentials
- desc: Essentials
- windowsConfiguration: 'Debug'
- windowsPackageId: 'com.microsoft.maui.essentials.devicetests'
- windows: $(System.DefaultWorkingDirectory)/src/Essentials/test/DeviceTests/Essentials.DeviceTests.csproj
- - name: graphics
- desc: Graphics
- windowsConfiguration: 'Debug'
- windowsPackageId: 'com.microsoft.maui.graphics.devicetests'
- windows: $(System.DefaultWorkingDirectory)/src/Graphics/tests/DeviceTests/Graphics.DeviceTests.csproj
- - name: core
- desc: Core
- windowsConfiguration: 'Debug'
- windowsPackageId: 'com.microsoft.maui.core.devicetests'
- windows: $(System.DefaultWorkingDirectory)/src/Core/tests/DeviceTests/Core.DeviceTests.csproj
- - name: controls
- desc: Controls
- windowsConfiguration: 'Debug'
- windowsPackageId: 'com.microsoft.maui.controls.devicetests'
- windows: $(System.DefaultWorkingDirectory)/src/Controls/tests/DeviceTests/Controls.DeviceTests.csproj
- - name: blazorwebview
- desc: BlazorWebView
- windowsConfiguration: 'Debug'
- windowsPackageId: 'Microsoft.Maui.MauiBlazorWebView.DeviceTests'
- windows: $(System.DefaultWorkingDirectory)/src/BlazorWebView/tests/DeviceTests/MauiBlazorWebView.DeviceTests.csproj
- platforms:
- - windows
-
- # Run on xamarin public instance
- - ${{ else }}:
-
- - template: common/device-tests.yml
- parameters:
- androidPool: ${{ parameters.androidPool }}
- iosPool: ${{ parameters.iosPool }}
- catalystPool: ${{ parameters.catalystPool }}
- windowsPool: ${{ parameters.windowsPool }}
- targetFrameworkVersion: ${{ targetFrameworkVersion }}
- ${{ if or(parameters.BuildEverything, and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['System.TeamProject'], 'devdiv'))) }}:
- androidApiLevels: [ 36, 35, 33, 30, 29, 27, 26, 25, 24, 23 ]
- iosVersions: [ 'simulator-18.4' ]
- catalystVersions: [ 'latest' ]
- windowsVersions: [ 'packaged', 'unpackaged' ]
- skipProvisioning: ${{ or(not(parameters.UseProvisionator), false) }}
- ${{ else }}:
- androidApiLevels: [ 33, 23 ]
- iosVersions: [ 'simulator-18.4' ]
- catalystVersions: [ 'latest' ]
- windowsVersions: [ 'packaged', 'unpackaged' ]
- skipProvisioning: ${{ not(parameters.UseProvisionator) }}
- projects:
- - name: essentials
- desc: Essentials
- androidApiLevelsExclude: [ 25, 27 ] # Ignore for now API25 since the runs's are not stable
- androidApiLevelsCoreClrExclude: [ 27, 25, 23]
- androidConfiguration: 'Release'
- iOSConfiguration: 'Debug'
- windowsConfiguration: 'Debug'
- windowsPackageId: 'com.microsoft.maui.essentials.devicetests'
- android: $(System.DefaultWorkingDirectory)/src/Essentials/test/DeviceTests/Essentials.DeviceTests.csproj
- ios: $(System.DefaultWorkingDirectory)/src/Essentials/test/DeviceTests/Essentials.DeviceTests.csproj
- catalyst: $(System.DefaultWorkingDirectory)/src/Essentials/test/DeviceTests/Essentials.DeviceTests.csproj
- windows: $(System.DefaultWorkingDirectory)/src/Essentials/test/DeviceTests/Essentials.DeviceTests.csproj
- - name: graphics
- desc: Graphics
- androidApiLevelsExclude: [ 25, 28 ] # Ignore for now API25 since the runs's are not stable
- androidApiLevelsCoreClrExclude: [ 28, 25, 23]
- androidConfiguration: 'Release'
- iOSConfiguration: 'Debug'
- windowsConfiguration: 'Debug'
- windowsPackageId: 'com.microsoft.maui.graphics.devicetests'
- android: $(System.DefaultWorkingDirectory)/src/Graphics/tests/DeviceTests/Graphics.DeviceTests.csproj
- ios: $(System.DefaultWorkingDirectory)/src/Graphics/tests/DeviceTests/Graphics.DeviceTests.csproj
- catalyst: $(System.DefaultWorkingDirectory)/src/Graphics/tests/DeviceTests/Graphics.DeviceTests.csproj
- windows: $(System.DefaultWorkingDirectory)/src/Graphics/tests/DeviceTests/Graphics.DeviceTests.csproj
- - name: core
- desc: Core
- androidApiLevelsExclude: [ 25 ] # Ignore for now API25 since the runs's are not stable
- androidApiLevelsCoreClrExclude: [ 28, 25, 23]
- androidConfiguration: 'Release'
- iOSConfiguration: 'Debug'
- windowsConfiguration: 'Debug'
- windowsPackageId: 'com.microsoft.maui.core.devicetests'
- android: $(System.DefaultWorkingDirectory)/src/Core/tests/DeviceTests/Core.DeviceTests.csproj
- ios: $(System.DefaultWorkingDirectory)/src/Core/tests/DeviceTests/Core.DeviceTests.csproj
- catalyst: $(System.DefaultWorkingDirectory)/src/Core/tests/DeviceTests/Core.DeviceTests.csproj
- windows: $(System.DefaultWorkingDirectory)/src/Core/tests/DeviceTests/Core.DeviceTests.csproj
- - name: controls
- desc: Controls
- androidApiLevelsExclude: [ 27, 25 ] # Ignore for now API25 since the runs's are not stable
- androidApiLevelsCoreClrExclude: [ 27, 25, 23]
- androidConfiguration: 'Debug'
- iOSConfiguration: 'Debug'
- windowsConfiguration: 'Debug'
- windowsPackageId: 'com.microsoft.maui.controls.devicetests'
- android: $(System.DefaultWorkingDirectory)/src/Controls/tests/DeviceTests/Controls.DeviceTests.csproj
- ios: $(System.DefaultWorkingDirectory)/src/Controls/tests/DeviceTests/Controls.DeviceTests.csproj
- catalyst: $(System.DefaultWorkingDirectory)/src/Controls/tests/DeviceTests/Controls.DeviceTests.csproj
- windows: $(System.DefaultWorkingDirectory)/src/Controls/tests/DeviceTests/Controls.DeviceTests.csproj
- - name: blazorwebview
- desc: BlazorWebView
- androidApiLevelsExclude: [ 30, 29, 28, 27, 26, 25, 24, 23, 22, 21 ] # BlazorWebView requires a recent version of Chrome
- androidApiLevelsCoreClrExclude: [ 30, 29, 28, 27, 26, 25, 24, 23, 22, 21]
- androidConfiguration: 'Release'
- iOSConfiguration: 'Debug'
- windowsConfiguration: 'Debug'
- windowsPackageId: 'Microsoft.Maui.MauiBlazorWebView.DeviceTests'
- android: $(System.DefaultWorkingDirectory)/src/BlazorWebView/tests/DeviceTests/MauiBlazorWebView.DeviceTests.csproj
- ios: $(System.DefaultWorkingDirectory)/src/BlazorWebView/tests/DeviceTests/MauiBlazorWebView.DeviceTests.csproj
- catalyst: $(System.DefaultWorkingDirectory)/src/BlazorWebView/tests/DeviceTests/MauiBlazorWebView.DeviceTests.csproj
- windows: $(System.DefaultWorkingDirectory)/src/BlazorWebView/tests/DeviceTests/MauiBlazorWebView.DeviceTests.csproj
\ No newline at end of file
+ skipProvisioning: ${{ or(not(parameters.UseProvisionator), false) }}
+ ${{ else }}:
+ androidApiLevels: [ 33, 23 ]
+ iosVersions: [ 'simulator-18.4', 'simulator-26.0' ]
+ catalystVersions: [ 'latest' ]
+ windowsVersions: [ 'packaged', 'unpackaged' ]
+ skipProvisioning: ${{ not(parameters.UseProvisionator) }}
+ projects:
+ - name: essentials
+ desc: Essentials
+ androidApiLevelsExclude: [ 25, 27 ] # Ignore for now API25 since the runs's are not stable
+ androidApiLevelsCoreClrExclude: [ 27, 25, 23]
+ androidConfiguration: 'Release'
+ iOSConfiguration: 'Debug'
+ windowsConfiguration: 'Debug'
+ windowsPackageId: 'com.microsoft.maui.essentials.devicetests'
+ android: $(System.DefaultWorkingDirectory)/src/Essentials/test/DeviceTests/Essentials.DeviceTests.csproj
+ ios: $(System.DefaultWorkingDirectory)/src/Essentials/test/DeviceTests/Essentials.DeviceTests.csproj
+ catalyst: $(System.DefaultWorkingDirectory)/src/Essentials/test/DeviceTests/Essentials.DeviceTests.csproj
+ windows: $(System.DefaultWorkingDirectory)/src/Essentials/test/DeviceTests/Essentials.DeviceTests.csproj
+ - name: graphics
+ desc: Graphics
+ androidApiLevelsExclude: [ 25, 28 ] # Ignore for now API25 since the runs's are not stable
+ androidApiLevelsCoreClrExclude: [ 28, 25, 23]
+ androidConfiguration: 'Release'
+ iOSConfiguration: 'Debug'
+ windowsConfiguration: 'Debug'
+ windowsPackageId: 'com.microsoft.maui.graphics.devicetests'
+ android: $(System.DefaultWorkingDirectory)/src/Graphics/tests/DeviceTests/Graphics.DeviceTests.csproj
+ ios: $(System.DefaultWorkingDirectory)/src/Graphics/tests/DeviceTests/Graphics.DeviceTests.csproj
+ catalyst: $(System.DefaultWorkingDirectory)/src/Graphics/tests/DeviceTests/Graphics.DeviceTests.csproj
+ windows: $(System.DefaultWorkingDirectory)/src/Graphics/tests/DeviceTests/Graphics.DeviceTests.csproj
+ - name: core
+ desc: Core
+ androidApiLevelsExclude: [ 25 ] # Ignore for now API25 since the runs's are not stable
+ androidApiLevelsCoreClrExclude: [ 28, 25, 23]
+ androidConfiguration: 'Release'
+ iOSConfiguration: 'Debug'
+ windowsConfiguration: 'Debug'
+ windowsPackageId: 'com.microsoft.maui.core.devicetests'
+ android: $(System.DefaultWorkingDirectory)/src/Core/tests/DeviceTests/Core.DeviceTests.csproj
+ ios: $(System.DefaultWorkingDirectory)/src/Core/tests/DeviceTests/Core.DeviceTests.csproj
+ catalyst: $(System.DefaultWorkingDirectory)/src/Core/tests/DeviceTests/Core.DeviceTests.csproj
+ windows: $(System.DefaultWorkingDirectory)/src/Core/tests/DeviceTests/Core.DeviceTests.csproj
+ - name: controls
+ desc: Controls
+ androidApiLevelsExclude: [ 27, 25 ] # Ignore for now API25 since the runs's are not stable
+ androidApiLevelsCoreClrExclude: [ 27, 25, 23]
+ androidConfiguration: 'Debug'
+ iOSConfiguration: 'Debug'
+ windowsConfiguration: 'Debug'
+ windowsPackageId: 'com.microsoft.maui.controls.devicetests'
+ android: $(System.DefaultWorkingDirectory)/src/Controls/tests/DeviceTests/Controls.DeviceTests.csproj
+ ios: $(System.DefaultWorkingDirectory)/src/Controls/tests/DeviceTests/Controls.DeviceTests.csproj
+ catalyst: $(System.DefaultWorkingDirectory)/src/Controls/tests/DeviceTests/Controls.DeviceTests.csproj
+ windows: $(System.DefaultWorkingDirectory)/src/Controls/tests/DeviceTests/Controls.DeviceTests.csproj
+ - name: blazorwebview
+ desc: BlazorWebView
+ androidApiLevelsExclude: [ 30, 29, 28, 27, 26, 25, 24, 23, 22, 21 ] # BlazorWebView requires a recent version of Chrome
+ androidApiLevelsCoreClrExclude: [ 30, 29, 28, 27, 26, 25, 24, 23, 22, 21]
+ androidConfiguration: 'Release'
+ iOSConfiguration: 'Debug'
+ windowsConfiguration: 'Debug'
+ windowsPackageId: 'Microsoft.Maui.MauiBlazorWebView.DeviceTests'
+ android: $(System.DefaultWorkingDirectory)/src/BlazorWebView/tests/DeviceTests/MauiBlazorWebView.DeviceTests.csproj
+ ios: $(System.DefaultWorkingDirectory)/src/BlazorWebView/tests/DeviceTests/MauiBlazorWebView.DeviceTests.csproj
+ catalyst: $(System.DefaultWorkingDirectory)/src/BlazorWebView/tests/DeviceTests/MauiBlazorWebView.DeviceTests.csproj
+ windows: $(System.DefaultWorkingDirectory)/src/BlazorWebView/tests/DeviceTests/MauiBlazorWebView.DeviceTests.csproj
\ No newline at end of file
diff --git a/eng/pipelines/ui-tests.yml b/eng/pipelines/ui-tests.yml
index 47107ee09a49..db9dfa639166 100644
--- a/eng/pipelines/ui-tests.yml
+++ b/eng/pipelines/ui-tests.yml
@@ -123,10 +123,10 @@ stages:
RunNativeAOT: ${{ parameters.RunNativeAOT }}
${{ if or(parameters.BuildEverything, and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['System.TeamProject'], 'devdiv'))) }}:
androidApiLevels: [ 30 ]
- iosVersions: [ '18.4' ]
+ iosVersions: [ '18.4', '26.0' ]
${{ else }}:
androidApiLevels: [ 30 ]
- iosVersions: [ '18.4' ]
+ iosVersions: [ '18.4', '26.0' ]
${{ if or(parameters.UseProvisionator, eq(variables['internalProvisioning'],'true') ) }}:
skipProvisioning: false
${{ else }}: