-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Enable NativeAOT runtime tests on MacCatalyst #102882
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
Changes from all commits
34ae7e3
e856611
5d5f3b4
3fc991a
d05f567
a0861ae
b2c3e18
97c4e81
10cb545
21292b3
a26f16a
f66559f
0e28387
c7eb67f
6090f8b
01abe70
0ce9e02
8d8f9bd
9ec56c4
0329bd6
c3072fc
798a7c4
fdb4813
97159f3
b906a65
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -77,3 +77,77 @@ jobs: | |
| creator: dotnet-bot | ||
| interpreter: true | ||
| testRunNamePrefixSuffix: Mono_$(_BuildConfig) | ||
|
|
||
| # | ||
| # Build the whole product using Native AOT and run runtime tests | ||
| # | ||
| - template: /eng/pipelines/common/platform-matrix.yml | ||
| parameters: | ||
| jobTemplate: /eng/pipelines/common/global-build-job.yml | ||
| helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml | ||
| buildConfig: Release | ||
| runtimeFlavor: coreclr | ||
| isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }} | ||
| isMacCatalystOnlyBuild: ${{ parameters.isMacCatalystOnlyBuild }} | ||
| platforms: | ||
| - maccatalyst_x64 | ||
| - maccatalyst_arm64 | ||
| variables: | ||
| # map dependencies variables to local variables | ||
| - name: librariesContainsChange | ||
| value: $[ stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] | ||
| - name: monoContainsChange | ||
| value: $[ stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'] ] | ||
| jobParameters: | ||
| testGroup: innerloop | ||
| nameSuffix: AllSubsets_NativeAOT_RuntimeTests | ||
| buildArgs: --cross -s clr.alljits+clr.tools+clr.nativeaotruntime+clr.nativeaotlibs+libs -c $(_BuildConfig) | ||
| timeoutInMinutes: 180 | ||
| # extra steps, run tests | ||
| extraVariablesTemplates: | ||
| - template: /eng/pipelines/common/templates/runtimes/test-variables.yml | ||
| parameters: | ||
| testGroup: innerloop | ||
| postBuildSteps: | ||
| - template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml | ||
| parameters: | ||
| creator: dotnet-bot | ||
| testBuildArgs: tree nativeaot/SmokeTests /p:BuildNativeAOTRuntimePack=true | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why do we need to set There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I can't recall the initial reason for including it, and it is likely no longer needed since we now use a single build command. I believe it was related to the initial multi-command build process. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Without this property jobs reports: There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks for checking it out. I think we should investigate/refactor this (as a follow-up). |
||
| testRunNamePrefixSuffix: NativeAOT_$(_BuildConfig) | ||
|
|
||
| # | ||
| # Build the whole product using Native AOT with the App Sandbox entitlement and run runtime tests | ||
| # | ||
| - template: /eng/pipelines/common/platform-matrix.yml | ||
| parameters: | ||
| jobTemplate: /eng/pipelines/common/global-build-job.yml | ||
| helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml | ||
| buildConfig: Release | ||
| runtimeFlavor: coreclr | ||
| isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }} | ||
| isMacCatalystOnlyBuild: ${{ parameters.isMacCatalystOnlyBuild }} | ||
| platforms: | ||
| - maccatalyst_x64 | ||
| - maccatalyst_arm64 | ||
| variables: | ||
| # map dependencies variables to local variables | ||
| - name: librariesContainsChange | ||
| value: $[ stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] | ||
| - name: monoContainsChange | ||
| value: $[ stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'] ] | ||
| jobParameters: | ||
| testGroup: innerloop | ||
| nameSuffix: AllSubsets_NativeAOT_RuntimeTests_AppSandbox | ||
| buildArgs: --cross -s clr.alljits+clr.tools+clr.nativeaotruntime+clr.nativeaotlibs+libs -c $(_BuildConfig) | ||
| timeoutInMinutes: 180 | ||
| # extra steps, run tests | ||
| extraVariablesTemplates: | ||
| - template: /eng/pipelines/common/templates/runtimes/test-variables.yml | ||
| parameters: | ||
| testGroup: innerloop | ||
| postBuildSteps: | ||
| - template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml | ||
| parameters: | ||
| creator: dotnet-bot | ||
| testBuildArgs: tree nativeaot/SmokeTests /p:BuildNativeAOTRuntimePack=true /p:DevTeamProvisioning=adhoc /p:EnableAppSandbox=true | ||
| testRunNamePrefixSuffix: NativeAOT_$(_BuildConfig) | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -431,7 +431,7 @@ | |
| </PropertyGroup> | ||
|
|
||
| <PropertyGroup> | ||
| <DevTeamProvisioning>-</DevTeamProvisioning> | ||
| <DevTeamProvisioning Condition="'$(DevTeamProvisioning)' == ''">-</DevTeamProvisioning> | ||
| <AppleGenerateAppBundle>true</AppleGenerateAppBundle> | ||
| <GenerateXcodeProject>true</GenerateXcodeProject> | ||
| <AppleBundleDir>$(AppDir)</AppleBundleDir> | ||
|
|
@@ -460,14 +460,15 @@ | |
|
|
||
| <!-- This target moves app bundles to the payload directory --> | ||
| <Target Name="AfterAppleBuild"> | ||
| <!-- Apparently MSBuild cannot move directories and recursively copying a | ||
| a directory requires writing some sort of recursive traversal | ||
| logic yourself. --> | ||
| <!-- MSBuild cannot move directories or recursively copy content. --> | ||
| <ItemGroup> | ||
| <RecursiveCopyHack Include="$(AppBundlePath)/**/*.*" /> | ||
| <BundleContent Include="$(AppBundlePath)/**/*.*" /> | ||
| </ItemGroup> | ||
| <MakeDir Directories="$(FinalPath)" /> | ||
| <Copy SourceFiles="@(RecursiveCopyHack)" DestinationFolder="$(FinalPath)/%(RecursiveDir)" /> | ||
| <!-- MacCatalyst requires Contents/Info.plist and Contents/MacOS/ApplicationBinary --> | ||
| <Copy Condition="'$(TargetOS)' == 'maccatalyst' AND '%(BundleContent.Filename)%(BundleContent.Extension)' == 'Info.plist'" SourceFiles="@(BundleContent)" DestinationFolder="$(FinalPath)/Contents/%(RecursiveDir)" /> | ||
| <Copy Condition="'$(TargetOS)' == 'maccatalyst' AND '%(BundleContent.Filename)%(BundleContent.Extension)' != 'Info.plist'" SourceFiles="@(BundleContent)" DestinationFolder="$(FinalPath)/Contents/MacOS/%(RecursiveDir)" /> | ||
| <Copy Condition="'$(TargetOS)' != 'maccatalyst'" SourceFiles="@(BundleContent)" DestinationFolder="$(FinalPath)/%(RecursiveDir)" /> | ||
|
Comment on lines
-470
to
+471
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Isn't There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It should be already there, but I couldn't recursively copy content in msbuild from the build directory to the bundle. The It is in place to verify E2E tests, but I think we need to resolve this before merging. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Yes, that is what I was confused about. |
||
| <RemoveDir Directories="$(AppBundlePath)" /> | ||
| <Message Importance="High" Text="Final app: $(FinalPath)" /> | ||
| </Target> | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.