- OSX.1014.Amd64.Open
- OSX.1015.Amd64.Open
- # Mac Catalyst arm64
- - ${{ if eq(parameters.platform, 'MacCatalyst_arm64') }}:
- - OSX.1100.ARM64.Open
-
- # Mac Catalyst x64
- - ${{ if eq(parameters.platform, 'MacCatalyst_x64') }}:
- - OSX.1015.Amd64.Open
-
# Android
- ${{ if in(parameters.platform, 'Android_x86', 'Android_x64') }}:
- Ubuntu.1804.Amd64.Android.Open
- ${{ if in(parameters.platform, 'Android_arm', 'Android_arm64') }}:
- Windows.10.Amd64.Android.Open
- # iOS/tvOS simulator x64/x86
- - ${{ if in(parameters.platform, 'iOSSimulator_x64', 'iOSSimulator_x86', 'tvOSSimulator_x64') }}:
+ # iOS Simulator/Mac Catalyst arm64
+ - ${{ if in(parameters.platform, 'MacCatalyst_arm64', 'iOSSimulator_arm64') }}:
+ - OSX.1100.ARM64.Open
+
+ # iOS/tvOS simulator x64/x86 & MacCatalyst x64
+ - ${{ if in(parameters.platform, 'iOSSimulator_x64', 'iOSSimulator_x86', 'tvOSSimulator_x64', 'MacCatalyst_x64') }}:
- OSX.1015.Amd64.Open
# iOS devices
- template: /eng/pipelines/common/evaluate-default-paths.yml
#
+# iOS/tvOS/Catalyst interp - requires AOT Compilation and Interp flags
# Build the whole product using Mono and run libraries tests
#
- template: /eng/pipelines/common/platform-matrix.yml
buildConfig: Release
runtimeFlavor: mono
platforms:
+ - MacCatalyst_x64
- iOSSimulator_x64
- tvOSSimulator_x64
- variables:
- # map dependencies variables to local variables
- - name: librariesContainsChange
- value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
- - name: monoContainsChange
- value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ]
- jobParameters:
- testGroup: innerloop
- nameSuffix: AllSubsets_Mono
- buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:MonoForceInterpreter=true
- timeoutInMinutes: 180
- condition: >-
- or(
- eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true),
- eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
- eq(variables['isFullMatrix'], true))
- # extra steps, run tests
- extraStepsTemplate: /eng/pipelines/libraries/helix.yml
- extraStepsParameters:
- creator: dotnet-bot
- interpreter: true
- testRunNamePrefixSuffix: Mono_$(_BuildConfig)
- condition: >-
- or(
- eq(variables['librariesContainsChange'], true),
- eq(variables['monoContainsChange'], true),
- eq(variables['isFullMatrix'], true))
-
-#
-# MacCatalyst interp - requires AOT Compilation and Interp flags
-# Build the whole product using Mono and run libraries tests
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
- buildConfig: Release
- runtimeFlavor: mono
- platforms:
- - MacCatalyst_x64
- # don't run tests on MacCatalyst_arm64 PRs until we can get significantly more devices
+ # don't run tests on arm64 PRs until we can get significantly more devices
- ${{ if eq(variables['isFullMatrix'], true) }}:
- MacCatalyst_arm64
+ - iOSSimulator_arm64
variables:
# map dependencies variables to local variables
- name: librariesContainsChange
<Target Condition="'$(TargetOS)' == 'MacCatalyst' or '$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'iOSSimulator' or '$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'tvOSSimulator'" Name="BundleTestAppleApp" DependsOnTargets="GenerateRuntimeConfig">
<Error Condition="!Exists('$(MicrosoftNetCoreAppRuntimePackRidDir)')" Text="MicrosoftNetCoreAppRuntimePackRidDir=$(MicrosoftNetCoreAppRuntimePackRidDir) doesn't exist" />
- <Error Condition="('$(TargetArchitecture)' == 'arm64' or '$(TargetArchitecture)' == 'arm' or '$(TargetOS)' == 'MacCatalyst') and '$(DevTeamProvisioning)' == ''"
+ <Error Condition="('$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'MacCatalyst') and '$(DevTeamProvisioning)' == ''"
Text="'DevTeamProvisioning' needs to be set for device builds. Set it to 'UBF8T346G9' if you're part of the Microsoft team account, or 'adhoc' to sign with an adhoc key.." />
<Error Condition="'$(TestArchiveTestsDir)' == ''" Text="TestArchiveTestsDir property to archive the test folder must be set." />
<PropertyGroup>
<AOTMode Condition="'$(TargetOS)' != 'MacCatalyst'">Full</AOTMode>
<AOTMode Condition="'$(TargetOS)' == 'MacCatalyst' and '$(MonoForceInterpreter)' != 'true'">Full</AOTMode>
- <AOTMode Condition="'$(TargetOS)' == 'MacCatalyst' and '$(MonoForceInterpreter)' == 'true'">JustInterp</AOTMode>
+ <AOTMode Condition="'$(RunAOTCompilation)' == 'true' and '$(MonoForceInterpreter)' == 'true'">JustInterp</AOTMode>
</PropertyGroup>
<ItemGroup>
<_AotExcludeAssemblies Include="$(PublishDir)System.Runtime.WindowsRuntime.dll" />
throw new InvalidOperationException("Need list of AOT files for device builds.");
}
- if (TargetOS != TargetNames.MacCatalyst && ForceInterpreter && ForceAOT)
- {
- throw new InvalidOperationException("Interpreter and AOT cannot be enabled at the same time");
- }
-
if (!string.IsNullOrEmpty(DiagnosticPorts))
{
bool validDiagnosticsConfig = false;
// register modules
register_aot_modules ();
-#if (FORCE_INTERPRETER && TARGET_OS_MACCATALYST)
+#if (FORCE_INTERPRETER && FORCE_AOT)
os_log_info (OS_LOG_DEFAULT, "AOT INTERP Enabled");
mono_jit_set_aot_mode (MONO_AOT_MODE_INTERP);
#else