diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml index d21dd56df2647..8c9d16d9701ae 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-maccatalyst.yml @@ -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 + 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) diff --git a/src/libraries/sendtohelix-mobile.targets b/src/libraries/sendtohelix-mobile.targets index 0a3a091fdf4fc..3d128ce22a3aa 100644 --- a/src/libraries/sendtohelix-mobile.targets +++ b/src/libraries/sendtohelix-mobile.targets @@ -40,7 +40,7 @@ - + ios-simulator-64 tvos-simulator ios-device diff --git a/src/tasks/AppleAppBuilder/Templates/CMakeLists-librarymode.txt.template b/src/tasks/AppleAppBuilder/Templates/CMakeLists-librarymode.txt.template index 782674abfea90..d47279b942fb4 100644 --- a/src/tasks/AppleAppBuilder/Templates/CMakeLists-librarymode.txt.template +++ b/src/tasks/AppleAppBuilder/Templates/CMakeLists-librarymode.txt.template @@ -50,7 +50,7 @@ if("${HARDENED_RUNTIME}") set_target_properties(%ProjectName% PROPERTIES XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "app.entitlements") add_custom_command( TARGET %ProjectName% POST_BUILD - COMMAND if test \"$CODE_SIGN_IDENTITY\"\; then codesign -fs \"$CODE_SIGN_IDENTITY\" $CODESIGNING_FOLDER_PATH/Contents/Resources/*.dylib\; fi + COMMAND if test \"$CODE_SIGN_IDENTITY\" && ls -1 $CODESIGNING_FOLDER_PATH/Contents/Resources/*.dylib 2>/dev/null | grep -q .\; then codesign -fs \"$CODE_SIGN_IDENTITY\" $CODESIGNING_FOLDER_PATH/Contents/Resources/*.dylib\; fi ) endif() endif() diff --git a/src/tasks/AppleAppBuilder/Templates/CMakeLists.txt.template b/src/tasks/AppleAppBuilder/Templates/CMakeLists.txt.template index f34ee5d1b15ae..141a8f3edad0a 100644 --- a/src/tasks/AppleAppBuilder/Templates/CMakeLists.txt.template +++ b/src/tasks/AppleAppBuilder/Templates/CMakeLists.txt.template @@ -59,7 +59,7 @@ if("${HARDENED_RUNTIME}") set_target_properties(%ProjectName% PROPERTIES XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "app.entitlements") add_custom_command( TARGET %ProjectName% POST_BUILD - COMMAND if test \"$CODE_SIGN_IDENTITY\"\; then codesign -fs \"$CODE_SIGN_IDENTITY\" $CODESIGNING_FOLDER_PATH/Contents/Resources/*.dylib\; fi + COMMAND if test \"$CODE_SIGN_IDENTITY\" && ls -1 $CODESIGNING_FOLDER_PATH/Contents/Resources/*.dylib 2>/dev/null | grep -q .\; then codesign -fs \"$CODE_SIGN_IDENTITY\" $CODESIGNING_FOLDER_PATH/Contents/Resources/*.dylib\; fi ) endif() endif() diff --git a/src/tests/Common/CLRTest.Execute.Bash.targets b/src/tests/Common/CLRTest.Execute.Bash.targets index 81a50db81cacc..23205302d972e 100644 --- a/src/tests/Common/CLRTest.Execute.Bash.targets +++ b/src/tests/Common/CLRTest.Execute.Bash.targets @@ -457,7 +457,7 @@ CLRTestExitCode=$? CLRTestExpectedExitCode=0 ]]> - + + + + diff --git a/src/tests/Common/helixpublishwitharcade.proj b/src/tests/Common/helixpublishwitharcade.proj index b5d5153343897..507bd360870b7 100644 --- a/src/tests/Common/helixpublishwitharcade.proj +++ b/src/tests/Common/helixpublishwitharcade.proj @@ -109,7 +109,7 @@ SuperPmiCollect=$(_SuperPmiCollect) - <_PropertiesToPass Condition="'$(TargetOS)' == 'browser' Or '$(TargetsAndroid)' == 'true' Or '$(TargetsiOS)' == 'true' Or '$(TargetsiOSSimulator)' == 'true' Or '$(TargetstvOS)' == 'true' Or '$(TargetstvOSSimulator)' == 'true'"> + <_PropertiesToPass Condition="'$(TargetOS)' == 'browser' Or '$(TargetsAndroid)' == 'true' Or '$(TargetsAppleMobile)' == 'true'"> $(_PropertiesToPass); IncludeDotNetCli=$(IncludeDotNetCli); DotNetCliRuntime=$(DotNetCliRuntime); @@ -623,7 +623,7 @@ $([System.TimeSpan]::FromMinutes($(TimeoutPerTestInMinutes)).TotalMilliseconds) true <_XUnitParallelMode>collections - <_XUnitParallelMode Condition=" '$(TargetsAndroid)' == 'true' or '$(TargetsiOSSimulator)' == 'true' or '$(TargetsiOS)' == 'true' or '$(TargetstvOSSimulator)' == 'true' or '$(TargetstvOS)' == 'true'">none + <_XUnitParallelMode Condition=" '$(TargetsAndroid)' == 'true' or '$(TargetsAppleMobile)' == 'true'">none <_XUnitParallelMode Condition=" '$(LongRunningGCTests)' == 'true' ">none <_XUnitParallelMode Condition=" '$(GcSimulatorTests)' == 'true' ">none -parallel $(_XUnitParallelMode) -nocolor -noshadow -xml testResults.xml @@ -761,7 +761,7 @@ - + sos https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/flat2/dotnet-sos/$(DotnetSosVersion)/dotnet-sos.$(DotnetSosVersion).nupkg diff --git a/src/tests/Interop/Swift/SwiftAbiStress/CMakeLists.txt b/src/tests/Interop/Swift/SwiftAbiStress/CMakeLists.txt index 6170fe8367846..6ba90f2aa1794 100644 --- a/src/tests/Interop/Swift/SwiftAbiStress/CMakeLists.txt +++ b/src/tests/Interop/Swift/SwiftAbiStress/CMakeLists.txt @@ -3,9 +3,12 @@ include ("${CLR_INTEROP_TEST_ROOT}/Interop.cmake") set(SOURCE SwiftAbiStress) -if (NOT SWIFT_COMPILER_TARGET AND CLR_CMAKE_TARGET_OSX) +if (NOT SWIFT_COMPILER_TARGET AND CLR_CMAKE_TARGET_APPLE) set(SWIFT_PLATFORM "macosx") set(SWIFT_PLATFORM_SUFFIX "") + if (NOT CMAKE_OSX_DEPLOYMENT_TARGET) + set(CMAKE_OSX_DEPLOYMENT_TARGET "12.0") + endif() set(SWIFT_DEPLOYMENT_TARGET ${CMAKE_OSX_DEPLOYMENT_TARGET}) set(SWIFT_COMPILER_TARGET "${CMAKE_OSX_ARCHITECTURES}-apple-${SWIFT_PLATFORM}${SWIFT_DEPLOYMENT_TARGET}${SWIFT_PLATFORM_SUFFIX}") endif() diff --git a/src/tests/Interop/Swift/SwiftCallbackAbiStress/CMakeLists.txt b/src/tests/Interop/Swift/SwiftCallbackAbiStress/CMakeLists.txt index 283ea0eb65430..4d9806201fb38 100644 --- a/src/tests/Interop/Swift/SwiftCallbackAbiStress/CMakeLists.txt +++ b/src/tests/Interop/Swift/SwiftCallbackAbiStress/CMakeLists.txt @@ -3,9 +3,12 @@ include ("${CLR_INTEROP_TEST_ROOT}/Interop.cmake") set(SOURCE SwiftCallbackAbiStress) -if (NOT SWIFT_COMPILER_TARGET AND CLR_CMAKE_TARGET_OSX) +if (NOT SWIFT_COMPILER_TARGET AND CLR_CMAKE_TARGET_APPLE) set(SWIFT_PLATFORM "macosx") set(SWIFT_PLATFORM_SUFFIX "") + if (NOT CMAKE_OSX_DEPLOYMENT_TARGET) + set(CMAKE_OSX_DEPLOYMENT_TARGET "12.0") + endif() set(SWIFT_DEPLOYMENT_TARGET ${CMAKE_OSX_DEPLOYMENT_TARGET}) set(SWIFT_COMPILER_TARGET "${CMAKE_OSX_ARCHITECTURES}-apple-${SWIFT_PLATFORM}${SWIFT_DEPLOYMENT_TARGET}${SWIFT_PLATFORM_SUFFIX}") endif() diff --git a/src/tests/Interop/Swift/SwiftErrorHandling/CMakeLists.txt b/src/tests/Interop/Swift/SwiftErrorHandling/CMakeLists.txt index 2d07bd3bf745c..dc721fc13c54d 100644 --- a/src/tests/Interop/Swift/SwiftErrorHandling/CMakeLists.txt +++ b/src/tests/Interop/Swift/SwiftErrorHandling/CMakeLists.txt @@ -3,9 +3,12 @@ include ("${CLR_INTEROP_TEST_ROOT}/Interop.cmake") set(SOURCE SwiftErrorHandling) -if (NOT SWIFT_COMPILER_TARGET AND CLR_CMAKE_TARGET_OSX) +if (NOT SWIFT_COMPILER_TARGET AND CLR_CMAKE_TARGET_APPLE) set(SWIFT_PLATFORM "macosx") set(SWIFT_PLATFORM_SUFFIX "") + if (NOT CMAKE_OSX_DEPLOYMENT_TARGET) + set(CMAKE_OSX_DEPLOYMENT_TARGET "12.0") + endif() set(SWIFT_DEPLOYMENT_TARGET ${CMAKE_OSX_DEPLOYMENT_TARGET}) set(SWIFT_COMPILER_TARGET "${CMAKE_OSX_ARCHITECTURES}-apple-${SWIFT_PLATFORM}${SWIFT_DEPLOYMENT_TARGET}${SWIFT_PLATFORM_SUFFIX}") endif() diff --git a/src/tests/Interop/Swift/SwiftIndirectResult/CMakeLists.txt b/src/tests/Interop/Swift/SwiftIndirectResult/CMakeLists.txt index 7490bbf39ce62..d073b6fc147cd 100644 --- a/src/tests/Interop/Swift/SwiftIndirectResult/CMakeLists.txt +++ b/src/tests/Interop/Swift/SwiftIndirectResult/CMakeLists.txt @@ -3,9 +3,12 @@ include ("${CLR_INTEROP_TEST_ROOT}/Interop.cmake") set(SOURCE SwiftIndirectResult) -if (NOT SWIFT_COMPILER_TARGET AND CLR_CMAKE_TARGET_OSX) +if (NOT SWIFT_COMPILER_TARGET AND CLR_CMAKE_TARGET_APPLE) set(SWIFT_PLATFORM "macosx") set(SWIFT_PLATFORM_SUFFIX "") + if (NOT CMAKE_OSX_DEPLOYMENT_TARGET) + set(CMAKE_OSX_DEPLOYMENT_TARGET "12.0") + endif() set(SWIFT_DEPLOYMENT_TARGET ${CMAKE_OSX_DEPLOYMENT_TARGET}) set(SWIFT_COMPILER_TARGET "${CMAKE_OSX_ARCHITECTURES}-apple-${SWIFT_PLATFORM}${SWIFT_DEPLOYMENT_TARGET}${SWIFT_PLATFORM_SUFFIX}") endif() diff --git a/src/tests/Interop/Swift/SwiftInvalidCallConv/CMakeLists.txt b/src/tests/Interop/Swift/SwiftInvalidCallConv/CMakeLists.txt index dea341f587c15..dce97e33c0a6c 100644 --- a/src/tests/Interop/Swift/SwiftInvalidCallConv/CMakeLists.txt +++ b/src/tests/Interop/Swift/SwiftInvalidCallConv/CMakeLists.txt @@ -3,9 +3,12 @@ include ("${CLR_INTEROP_TEST_ROOT}/Interop.cmake") set(SOURCE SwiftInvalidCallConv) -if (NOT SWIFT_COMPILER_TARGET AND CLR_CMAKE_TARGET_OSX) +if (NOT SWIFT_COMPILER_TARGET AND CLR_CMAKE_TARGET_APPLE) set(SWIFT_PLATFORM "macosx") set(SWIFT_PLATFORM_SUFFIX "") + if (NOT CMAKE_OSX_DEPLOYMENT_TARGET) + set(CMAKE_OSX_DEPLOYMENT_TARGET "12.0") + endif() set(SWIFT_DEPLOYMENT_TARGET ${CMAKE_OSX_DEPLOYMENT_TARGET}) set(SWIFT_COMPILER_TARGET "${CMAKE_OSX_ARCHITECTURES}-apple-${SWIFT_PLATFORM}${SWIFT_DEPLOYMENT_TARGET}${SWIFT_PLATFORM_SUFFIX}") endif() diff --git a/src/tests/Interop/Swift/SwiftRetAbiStress/CMakeLists.txt b/src/tests/Interop/Swift/SwiftRetAbiStress/CMakeLists.txt index 9f0e2a3423b2a..ee3e93acd79b8 100644 --- a/src/tests/Interop/Swift/SwiftRetAbiStress/CMakeLists.txt +++ b/src/tests/Interop/Swift/SwiftRetAbiStress/CMakeLists.txt @@ -3,9 +3,12 @@ include ("${CLR_INTEROP_TEST_ROOT}/Interop.cmake") set(SOURCE SwiftRetAbiStress) -if (NOT SWIFT_COMPILER_TARGET AND CLR_CMAKE_TARGET_OSX) +if (NOT SWIFT_COMPILER_TARGET AND CLR_CMAKE_TARGET_APPLE) set(SWIFT_PLATFORM "macosx") set(SWIFT_PLATFORM_SUFFIX "") + if (NOT CMAKE_OSX_DEPLOYMENT_TARGET) + set(CMAKE_OSX_DEPLOYMENT_TARGET "12.0") + endif() set(SWIFT_DEPLOYMENT_TARGET ${CMAKE_OSX_DEPLOYMENT_TARGET}) set(SWIFT_COMPILER_TARGET "${CMAKE_OSX_ARCHITECTURES}-apple-${SWIFT_PLATFORM}${SWIFT_DEPLOYMENT_TARGET}${SWIFT_PLATFORM_SUFFIX}") endif() diff --git a/src/tests/Interop/Swift/SwiftSelfContext/CMakeLists.txt b/src/tests/Interop/Swift/SwiftSelfContext/CMakeLists.txt index 294fcd0e0ba28..61564d1e0a835 100644 --- a/src/tests/Interop/Swift/SwiftSelfContext/CMakeLists.txt +++ b/src/tests/Interop/Swift/SwiftSelfContext/CMakeLists.txt @@ -3,9 +3,12 @@ include ("${CLR_INTEROP_TEST_ROOT}/Interop.cmake") set(SOURCE SwiftSelfContext) -if (NOT SWIFT_COMPILER_TARGET AND CLR_CMAKE_TARGET_OSX) +if (NOT SWIFT_COMPILER_TARGET AND CLR_CMAKE_TARGET_APPLE) set(SWIFT_PLATFORM "macosx") set(SWIFT_PLATFORM_SUFFIX "") + if (NOT CMAKE_OSX_DEPLOYMENT_TARGET) + set(CMAKE_OSX_DEPLOYMENT_TARGET "12.0") + endif() set(SWIFT_DEPLOYMENT_TARGET ${CMAKE_OSX_DEPLOYMENT_TARGET}) set(SWIFT_COMPILER_TARGET "${CMAKE_OSX_ARCHITECTURES}-apple-${SWIFT_PLATFORM}${SWIFT_DEPLOYMENT_TARGET}${SWIFT_PLATFORM_SUFFIX}") endif() diff --git a/src/tests/build.proj b/src/tests/build.proj index 0222d6b95a6bc..5ea8d9ceca443 100644 --- a/src/tests/build.proj +++ b/src/tests/build.proj @@ -431,7 +431,7 @@ - - + - true true $(AppDir) @@ -460,14 +460,15 @@ - + - + - + + + +