Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move MacCatalyst to runtime-extra-platforms pipeline #64452

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
b0ab2b7
Move MacCatalyst to runtime-extra-platforms pipeline
MaximLipnin Jan 28, 2022
7630898
Since MacCatalyst is moving out of runtime-staging, we'll need to add…
Jan 28, 2022
e007d0f
Yml syntax
Jan 31, 2022
0d4e10f
More yml tweaks
Jan 31, 2022
5c9ae70
Merge branch 'main' into move_maccatalyst_to_extra_platfroms_pipeline
MaximLipnin Feb 1, 2022
13dbdfb
Configure the ios sumulator functional tests for re-trying in case of…
MaximLipnin Feb 1, 2022
f78840b
Revert test retry configuration as it didn't work for the functional …
MaximLipnin Feb 2, 2022
c05f72d
Merge branch 'main' into move_maccatalyst_to_extra_platfroms_pipeline
MaximLipnin Feb 2, 2022
56c38cd
Merge branch 'main' into move_maccatalyst_to_extra_platfroms_pipeline
MaximLipnin Feb 8, 2022
0d105ac
Merge branch 'main' into move_maccatalyst_to_extra_platfroms_pipeline
MaximLipnin Feb 9, 2022
d9e1d9a
Put MacCatalyst leg definitions to runtime-extra-platforms-other.yml
MaximLipnin Feb 9, 2022
2d292cb
Bump arcade
akoeplinger Feb 9, 2022
1c1c23e
Merge branch 'main' into move_maccatalyst_to_extra_platfroms_pipeline
MaximLipnin Feb 9, 2022
ab7d142
Merge branch 'main' into move_maccatalyst_to_extra_platfroms_pipeline
MaximLipnin Feb 9, 2022
03c73f1
Leave MacCatalyst_arm64 in runtime-staging as it might not pass yet o…
MaximLipnin Feb 9, 2022
28832e6
Merge branch 'main' into move_maccatalyst_to_extra_platfroms_pipeline
MaximLipnin Feb 14, 2022
0d37f47
Skip System.Reflection.Emit.Tests.ILGeneratorEmit4.TestDynamicMethodE…
MaximLipnin Feb 14, 2022
e83a3fd
Revert skipping System.Reflection.Emit.Tests.ILGeneratorEmit4.TestDyn…
MaximLipnin Feb 15, 2022
50217c4
Merge branch 'main' into move_maccatalyst_to_extra_platfroms_pipeline
MaximLipnin Feb 15, 2022
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
89 changes: 89 additions & 0 deletions eng/pipelines/runtime-extra-platforms-other.yml
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,95 @@ jobs:
eq(variables['monoContainsChange'], true),
eq(variables['isRollingBuild'], 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
# - MacCatalyst_arm64 # re-enable it here and remove from runtime-staging after it's stabilized on OSX 11.00 queue
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:DevTeamProvisioning=adhoc /p:RunAOTCompilation=true /p:MonoForceInterpreter=true /p:BuildDarwinFrameworks=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['isRollingBuild'], true))
# extra steps, run tests
extraStepsTemplate: /eng/pipelines/libraries/helix.yml
extraStepsParameters:
creator: dotnet-bot
testRunNamePrefixSuffix: Mono_$(_BuildConfig)
condition: >-
or(
eq(variables['librariesContainsChange'], true),
eq(variables['monoContainsChange'], true),
eq(variables['isRollingBuild'], true))
#
# MacCatalyst interp - requires AOT Compilation and Interp flags
# Build the whole product using Mono and run libraries tests
# The test app is built with the App Sandbox entitlement
#
- 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
# re-enable MacCatalyst_arm64 here and remove from runtime-staging after it's stabilized on OSX 11.00 queue
# don't run tests on arm64 PRs until we can get significantly more device
# - ${{ if eq(variables['isRollingBuild'], true) }}:
# - MacCatalyst_arm64
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_AppSandbox
buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true $(_runSmokeTestsOnlyArg) /p:DevTeamProvisioning=adhoc /p:RunAOTCompilation=true /p:MonoForceInterpreter=true /p:BuildDarwinFrameworks=true /p:EnableAppSandbox=true
timeoutInMinutes: 180
condition: >-
or(
eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true),
eq(variables['isRollingBuild'], 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['isRollingBuild'], true))

#
# Android devices
# 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
Expand Down
6 changes: 4 additions & 2 deletions eng/pipelines/runtime-staging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,8 @@ jobs:
eq(variables['monoContainsChange'], true),
eq(variables['isRollingBuild'], true))

#
# Remove it after MacCatalyst_arm64 is stabilized on OSX 11.00 queue.
#
# MacCatalyst interp - requires AOT Compilation and Interp flags
# Build the whole product using Mono and run libraries tests
Expand All @@ -117,7 +119,6 @@ jobs:
buildConfig: Release
runtimeFlavor: mono
platforms:
- MacCatalyst_x64
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since the runtime-extra platforms leg doesn't run on every PR, should we add a mac catalyst leg to the main runtime pipeline or the dev-innerloop pipeline that DOES NOT RUN TESTS, just to protect the vertical build and to make sure we don't break developer inerloop scenarios?

# don't run tests on arm64 PRs until we can get significantly more devices
- ${{ if eq(variables['isRollingBuild'], true) }}:
- MacCatalyst_arm64
Expand Down Expand Up @@ -150,6 +151,8 @@ jobs:
eq(variables['monoContainsChange'], true),
eq(variables['isRollingBuild'], true))

#
# Remove it after MacCatalyst_arm64 is stabilized on OSX 11.00 queue.
#
# MacCatalyst interp - requires AOT Compilation and Interp flags
# Build the whole product using Mono and run libraries tests
Expand All @@ -162,7 +165,6 @@ jobs:
buildConfig: Release
runtimeFlavor: mono
platforms:
- MacCatalyst_x64
# don't run tests on arm64 PRs until we can get significantly more devices
- ${{ if eq(variables['isRollingBuild'], true) }}:
- MacCatalyst_arm64
Expand Down
88 changes: 84 additions & 4 deletions eng/pipelines/runtime.yml
Original file line number Diff line number Diff line change
Expand Up @@ -336,11 +336,8 @@ jobs:
buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
runtimeFlavor: mono
platforms:
- MacCatalyst_x64
- MacCatalyst_arm64
- tvOSSimulator_x64
- iOSSimulator_x86
- iOS_arm64
- Linux_arm
jobParameters:
testGroup: innerloop
Expand All @@ -359,7 +356,6 @@ jobs:
buildConfig: Release
runtimeFlavor: mono
platforms:
- tvOS_arm64
- iOS_arm
- Linux_musl_x64
jobParameters:
Expand Down Expand Up @@ -415,6 +411,90 @@ jobs:
eq(variables['monoContainsChange'], true),
eq(variables['isRollingBuild'], true))

#
# iOS/tvOS devices - Full AOT + AggressiveTrimming to reduce size
# 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:
- iOS_arm64
- tvOS_arm64
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+libs.tests+host+packs -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=true /p:RunSmokeTestsOnly=true /p:BuildTestsOnHelix=true /p:UsePortableRuntimePack=true /p:BuildDarwinFrameworks=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['isRollingBuild'], true))
# extra steps, run tests
extraStepsTemplate: /eng/pipelines/libraries/helix.yml
extraStepsParameters:
creator: dotnet-bot
testRunNamePrefixSuffix: Mono_$(_BuildConfig)
extraHelixArguments: /p:NeedsToBuildAppsOnHelix=true
condition: >-
or(
eq(variables['librariesContainsChange'], true),
eq(variables['monoContainsChange'], true),
eq(variables['isRollingBuild'], 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
- ${{ if eq(variables['isRollingBuild'], true) }}:
- MacCatalyst_arm64
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:RunSmokeTestsOnly=true /p:DevTeamProvisioning=adhoc /p:RunAOTCompilation=true /p:MonoForceInterpreter=true /p:BuildDarwinFrameworks=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['isRollingBuild'], true))
# extra steps, run tests
extraStepsTemplate: /eng/pipelines/libraries/helix.yml
extraStepsParameters:
creator: dotnet-bot
testRunNamePrefixSuffix: Mono_$(_BuildConfig)
condition: >-
or(
eq(variables['librariesContainsChange'], true),
eq(variables['monoContainsChange'], true),
eq(variables['isRollingBuild'], true))

#
# Build the whole product using Mono and run libraries tests, for Wasm.Build.Tests
#
Expand Down