Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
a1e3cb9
Add CoreCLR Apple template tests
kotlarmilos Dec 19, 2025
f2da91e
Merge branch 'net11.0' of github.com:dotnet/maui into feature/coreclr…
kotlarmilos Jan 8, 2026
dc761c2
Update xharness
rmarinho Jan 9, 2026
46e50ba
[ci] Move to net11 tfms
rmarinho Jan 13, 2026
9840a0c
Merge branch 'net11.0' of github.com:dotnet/maui into feature/coreclr…
kotlarmilos Jan 15, 2026
fc889c1
Add CoreCLR test variants for iOS in AppleTemplateTests
kotlarmilos Jan 15, 2026
358c749
Add CoreCLR tests
kotlarmilos Jan 15, 2026
448c2d2
Merge branch 'enable-net11' of github.com:dotnet/maui into feature/co…
kotlarmilos Jan 16, 2026
08ea6d8
Merge branch 'net11.0' of github.com:dotnet/maui into feature/coreclr…
kotlarmilos Jan 16, 2026
8168d98
Merge branch 'net11.0' of github.com:dotnet/maui into feature/coreclr…
kotlarmilos Jan 26, 2026
dfea72a
Update test attributes from [Test] to [Fact]
kotlarmilos Jan 26, 2026
61f1eb1
Merge branch 'net11.0' of github.com:dotnet/maui into feature/coreclr…
kotlarmilos Feb 2, 2026
d57995d
Merge branch 'net11.0' of github.com:dotnet/maui into feature/coreclr…
kotlarmilos Feb 5, 2026
a642175
Merge branch 'net11.0' of github.com:dotnet/maui into feature/coreclr…
kotlarmilos Feb 9, 2026
8aeeccf
Merge branch 'net11.0' of github.com:dotnet/maui into feature/coreclr…
kotlarmilos Feb 19, 2026
4ed90ec
Update macOS pool configuration for CoreCLR tests
kotlarmilos Feb 19, 2026
237f0cf
Merge branch 'net11.0' of github.com:dotnet/maui into feature/coreclr…
kotlarmilos Feb 25, 2026
8bcdb79
Merge branch 'net11.0' of github.com:dotnet/maui into feature/coreclr…
kotlarmilos Feb 27, 2026
2eb27aa
Merge remote-tracking branch 'origin/net11.0' into feature/coreclr-ap…
rolfbjarne Mar 4, 2026
4a24bd5
Merge remote-tracking branch 'origin/net11.0' into feature/coreclr-ap…
rolfbjarne Mar 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 97 additions & 0 deletions eng/pipelines/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -363,6 +363,52 @@ stages:
testName: RunOniOS_MauiNativeAOT
arch: ARM64

# CoreCLR test variants - ARM64 (Apple Silicon) lanes
- name: mac_runios_maui_debug_coreclr_arm64
${{ if eq(variables['Build.DefinitionName'], 'maui-pr') }}:
pool: ${{ parameters.MacOSPool.public }}
${{ else }}:
pool: ${{ parameters.MacOSPool.internal }}
timeout: 45
testName: RunOniOS_MauiDebug_CoreCLR
arch: ARM64

- name: mac_runios_maui_release_coreclr_arm64
${{ if eq(variables['Build.DefinitionName'], 'maui-pr') }}:
pool: ${{ parameters.MacOSPool.public }}
${{ else }}:
pool: ${{ parameters.MacOSPool.internal }}
timeout: 45
testName: RunOniOS_MauiRelease_CoreCLR
arch: ARM64

- name: mac_runios_maui_trim_coreclr_arm64
${{ if eq(variables['Build.DefinitionName'], 'maui-pr') }}:
pool: ${{ parameters.MacOSPool.public }}
${{ else }}:
pool: ${{ parameters.MacOSPool.internal }}
timeout: 45
testName: RunOniOS_MauiReleaseTrimFull_CoreCLR
arch: ARM64

- name: mac_runios_blazor_debug_coreclr_arm64
${{ if eq(variables['Build.DefinitionName'], 'maui-pr') }}:
pool: ${{ parameters.MacOSPool.public }}
${{ else }}:
pool: ${{ parameters.MacOSPool.internal }}
timeout: 45
testName: RunOniOS_BlazorDebug_CoreCLR
arch: ARM64

- name: mac_runios_blazor_release_coreclr_arm64
${{ if eq(variables['Build.DefinitionName'], 'maui-pr') }}:
pool: ${{ parameters.MacOSPool.public }}
${{ else }}:
pool: ${{ parameters.MacOSPool.internal }}
timeout: 45
testName: RunOniOS_BlazorRelease_CoreCLR
arch: ARM64

# MacOSPool lanes - comparison with ARM64 pool
# Only run on: (non-PR on main/net*.0/release/*/inflight/*) OR (PR targeting net*.0/release/*/inflight/*)
- name: mac_runios_maui_debug
Expand Down Expand Up @@ -424,3 +470,54 @@ stages:
testName: RunOniOS_MauiNativeAOT
arch: x64
condition: ${{ parameters.macOSPoolLaneCondition }}

# CoreCLR test variants - MacOSPool lanes
- name: mac_runios_maui_debug_coreclr
${{ if eq(variables['Build.DefinitionName'], 'maui-pr') }}:
pool: ${{ parameters.MacOSPool.public }}
${{ else }}:
pool: ${{ parameters.MacOSPool.internal }}
timeout: 45
testName: RunOniOS_MauiDebug_CoreCLR
arch: x64
condition: ${{ parameters.macOSPoolLaneCondition }}

- name: mac_runios_maui_release_coreclr
${{ if eq(variables['Build.DefinitionName'], 'maui-pr') }}:
pool: ${{ parameters.MacOSPool.public }}
${{ else }}:
pool: ${{ parameters.MacOSPool.internal }}
timeout: 45
testName: RunOniOS_MauiRelease_CoreCLR
arch: x64
condition: ${{ parameters.macOSPoolLaneCondition }}

- name: mac_runios_maui_trim_coreclr
${{ if eq(variables['Build.DefinitionName'], 'maui-pr') }}:
pool: ${{ parameters.MacOSPool.public }}
${{ else }}:
pool: ${{ parameters.MacOSPool.internal }}
timeout: 45
testName: RunOniOS_MauiReleaseTrimFull_CoreCLR
arch: x64
condition: ${{ parameters.macOSPoolLaneCondition }}

- name: mac_runios_blazor_debug_coreclr
${{ if eq(variables['Build.DefinitionName'], 'maui-pr') }}:
pool: ${{ parameters.MacOSPool.public }}
${{ else }}:
pool: ${{ parameters.MacOSPool.internal }}
timeout: 45
testName: RunOniOS_BlazorDebug_CoreCLR
arch: x64
condition: ${{ parameters.macOSPoolLaneCondition }}

- name: mac_runios_blazor_release_coreclr
${{ if eq(variables['Build.DefinitionName'], 'maui-pr') }}:
pool: ${{ parameters.MacOSPool.public }}
${{ else }}:
pool: ${{ parameters.MacOSPool.internal }}
timeout: 45
testName: RunOniOS_BlazorRelease_CoreCLR
arch: x64
condition: ${{ parameters.macOSPoolLaneCondition }}
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,22 @@ public AppleTemplateTests(IntegrationTestFixture fixture, ITestOutputHelper outp
[Fact]
public void RunOniOS_BlazorRelease() => RunOniOS("maui-blazor", "Release", DotNetCurrent, RuntimeVariant.Mono, null);

// CoreCLR test variants
[Fact]
public void RunOniOS_MauiDebug_CoreCLR() => RunOniOS("maui", "Debug", DotNetCurrent, RuntimeVariant.CoreCLR, null);

[Fact]
public void RunOniOS_MauiRelease_CoreCLR() => RunOniOS("maui", "Release", DotNetCurrent, RuntimeVariant.CoreCLR, null);

[Fact]
public void RunOniOS_MauiReleaseTrimFull_CoreCLR() => RunOniOS("maui", "Release", DotNetCurrent, RuntimeVariant.CoreCLR, "full");

[Fact]
public void RunOniOS_BlazorDebug_CoreCLR() => RunOniOS("maui-blazor", "Debug", DotNetCurrent, RuntimeVariant.CoreCLR, null);

[Fact]
public void RunOniOS_BlazorRelease_CoreCLR() => RunOniOS("maui-blazor", "Release", DotNetCurrent, RuntimeVariant.CoreCLR, null);

// TODO: Re-enable once ASP.NET Core fixes trimmer warning IL2111 with Blazor Router.NotFoundPage
// Issue: https://github.com/dotnet/aspnetcore/issues/63951
//
Expand Down Expand Up @@ -115,7 +131,11 @@ void RunOniOS(string id, string config, string framework, RuntimeVariant runtime
var buildProps = BuildProps;
var runtimeIdentifier = "";

if (runtimeVariant == RuntimeVariant.NativeAOT)
if (runtimeVariant == RuntimeVariant.CoreCLR)
{
buildProps.Add("UseMonoRuntime=false");
}
else if (runtimeVariant == RuntimeVariant.NativeAOT)
{
buildProps.Add("PublishAot=true");
buildProps.Add("PublishAotUsingRuntimePack=true"); // TODO: This parameter will become obsolete https://github.com/dotnet/runtime/issues/87060
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ namespace Microsoft.Maui.IntegrationTests
public enum RuntimeVariant
{
Mono,
CoreCLR,
NativeAOT
}

Expand Down
Loading