diff --git a/eng/Subsets.props b/eng/Subsets.props index a6b04e2beaaa05..9aabbcec9b09fd 100644 --- a/eng/Subsets.props +++ b/eng/Subsets.props @@ -86,7 +86,7 @@ crossdacpack - + android+browser+wasi $(MonoCrossAOTTargetOS)+tvos+ios+maccatalyst @@ -724,7 +724,6 @@ <_BuildCoreCLRRuntimePack Condition="'$(CoreCLRSupported)' == 'true' and '$(TargetsWasm)' != 'true'">true - <_BuildMonoRuntimePack Condition="'$(MonoSupported)' == 'true'">true diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml index 4a69b960700782..6b313e1b669ec4 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml @@ -10,40 +10,6 @@ parameters: jobs: -# -# iOSSimulator interp - requires AOT Compilation and Interp flags -# Build the whole product using Mono and run libraries smoke 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 - isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }} - isiOSLikeSimulatorOnlyBuild: ${{ parameters.isiOSLikeSimulatorOnlyBuild }} - platforms: - - iossimulator_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_Mono - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:RunSmokeTestsOnly=true /p:RunAOTCompilation=true /p:MonoForceInterpreter=true /p:_DisableCheckForUnsupportedMonoMobileRuntime=true - timeoutInMinutes: 240 - # extra steps, run tests - postBuildSteps: - - template: /eng/pipelines/libraries/helix.yml - parameters: - creator: dotnet-bot - interpreter: true - testRunNamePrefixSuffix: Mono_$(_BuildConfig) - useHelixMonitor: ${{ parameters.useHelixMonitor }} - # # iOSSimulator # Build the whole product using Native AOT and run libraries tests diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-linuxbionic.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-linuxbionic.yml deleted file mode 100644 index 4de61352623ecb..00000000000000 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-linuxbionic.yml +++ /dev/null @@ -1,49 +0,0 @@ -# This contains only Bionic-specific jobs -# These are run as part of runtime-extra-platforms by default. -# But can also be triggered manually via `runtime-linuxbionic` name -# /azp run runtime-linuxbionic - -parameters: - isExtraPlatformsBuild: false - isLinuxBionicOnlyBuild: false - -jobs: - -# -# Build the whole product using Mono for Android Linux with Bionic libc -# FIXME: disabled test runs https://github.com/dotnet/runtime/issues/100281 -# -- 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 - isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }} - isLinuxBionicOnlyBuild: ${{ parameters.isLinuxBionicOnlyBuild }} - platforms: - - linux_bionic_arm64 - - linux_bionic_x64 - variables: - - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}: - - name: _HelixSource - value: pr/dotnet/runtime/$(Build.SourceBranch) - - ${{ if and(eq(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}: - - name: _HelixSource - value: ci/dotnet/runtime/$(Build.SourceBranch) - - name: timeoutPerTestInMinutes - value: 60 - - name: timeoutPerTestCollectionInMinutes - value: 180 - jobParameters: - testGroup: innerloop - targetRid: linux-bionic-x64 - nameSuffix: AllSubsets_Mono - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true - timeoutInMinutes: 480 - # extra steps, run tests # FIXME: see https://github.com/dotnet/runtime/issues/100281 - # postBuildSteps: - # - template: /eng/pipelines/libraries/helix.yml - # parameters: - # creator: dotnet-bot - # testRunNamePrefixSuffix: Mono_$(_BuildConfig)_LinuxBionic diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-other.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-other.yml index e5fa2a4b3a52e5..f6919e98e27118 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-other.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-other.yml @@ -68,165 +68,3 @@ jobs: or( eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), eq(variables['isRollingBuild'], true)) - -#### MONO LEGS - -# -# 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: - - windows_x64 - 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: - testScope: innerloop - nameSuffix: AllSubsets_Mono - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true - timeoutInMinutes: 120 - isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }} - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isRollingBuild'], true)) - # extra steps, run tests - postBuildSteps: - - template: /eng/pipelines/libraries/helix.yml - parameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_$(_BuildConfig) - useHelixMonitor: ${{ parameters.useHelixMonitor }} - condition: >- - or( - eq(variables['librariesContainsChange'], true), - eq(variables['monoContainsChange'], true), - eq(variables['isRollingBuild'], true)) - -# -# Mono CoreCLR runtime test executions using live libraries and mini Full AOT -# Only when Mono is changed -# -- 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: mono - platforms: - - linux_x64 - # Tracking issue: https://github.com/dotnet/runtime/issues/90427 - # linux_arm64 - variables: - - name: timeoutPerTestInMinutes - value: 60 - - name: timeoutPerTestCollectionInMinutes - value: 180 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono_MiniFullAot_RuntimeTests - runtimeVariant: minifullaot - buildArgs: -s mono+libs+clr.hosts -c Release - timeoutInMinutes: 300 - isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }} - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), - eq(variables['isRollingBuild'], true)) - postBuildSteps: - - template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml - parameters: - creator: dotnet-bot - llvmAotStepContainer: linux_x64 - testRunNamePrefixSuffix: Mono_Release - useHelixMonitor: ${{ parameters.useHelixMonitor }} - extraVariablesTemplates: - - template: /eng/pipelines/common/templates/runtimes/test-variables.yml - -# -# Mono CoreCLR runtime Test executions using live libraries in interpreter mode -# Only when Mono is changed - -- 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: mono - platforms: - - linux_arm64 - - osx_arm64 - variables: - - name: timeoutPerTestInMinutes - value: 60 - - name: timeoutPerTestCollectionInMinutes - value: 180 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono_Interpreter_RuntimeTests - runtimeVariant: monointerpreter - buildArgs: -s mono+libs+clr.hosts+clr.iltools -c Release - timeoutInMinutes: 180 - isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }} - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), - eq(variables['isRollingBuild'], true)) - postBuildSteps: - - template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml - parameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_Release - useHelixMonitor: ${{ parameters.useHelixMonitor }} - extraVariablesTemplates: - - template: /eng/pipelines/common/templates/runtimes/test-variables.yml - -# -# Mono CoreCLR runtime Test executions using live libraries in JIT mode -# Only when Mono is changed - -- 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: mono - platforms: - - linux_arm64 - variables: - - name: timeoutPerTestInMinutes - value: 60 - - name: timeoutPerTestCollectionInMinutes - value: 180 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono_Minijit_RuntimeTests - runtimeVariant: minijit - buildArgs: -s mono+libs+clr.hosts+clr.iltools -c Release - timeoutInMinutes: 180 - isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }} - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), - eq(variables['isRollingBuild'], true)) - postBuildSteps: - - template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml - parameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_Release - useHelixMonitor: ${{ parameters.useHelixMonitor }} - extraVariablesTemplates: - - template: /eng/pipelines/common/templates/runtimes/test-variables.yml diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml index 2643cceb58ab0b..e404424d8a9a53 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml @@ -1,7 +1,4 @@ # This contains only wasm-specific jobs -# These are run as part of runtime-extra-platforms by default. -# But can also be triggered manually via `runtime-wasm` name -# /azp run runtime-wasm # Run the full trimmed CoreCLR ReadyToRun library tests with # /azp run runtime-wasm-libtests @@ -17,72 +14,7 @@ parameters: jobs: -# -# ************ runtime-extra-platforms invocation: ************* -# - only run full or expensive library-test configurations -# - rest are covered by runtime -# -- ${{ if eq(parameters.isExtraPlatformsBuild, true) }}: - # AOT Library tests - browser_wasm - - template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml - parameters: - platforms: - - browser_wasm - - browser_wasm_win - nameSuffix: _Smoke_AOT - extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) - runAOT: true - buildAOTOnHelix: false - shouldRunSmokeOnly: true - alwaysRun: true - useHelixMonitor: ${{ parameters.useHelixMonitor }} - - # AOT Library tests - wasi_wasm - - template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml - parameters: - platforms: - - wasi_wasm - - wasi_wasm_win - nameSuffix: _AOT - extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) - runAOT: true - alwaysRun: true - shouldContinueOnError: true - useHelixMonitor: ${{ parameters.useHelixMonitor }} - - # High resource AOT Library tests - - template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml - parameters: - platforms: - - browser_wasm - - browser_wasm_win - nameSuffix: _HighResource_AOT - extraBuildArgs: /p:TestAssemblies=false /p:RunHighAOTResourceRequiringTestsOnly=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) - buildAOTOnHelix: false - runAOT: true - alwaysRun: true - useHelixMonitor: ${{ parameters.useHelixMonitor }} - -# -# ********** WASM-specific pipeline invocations: ************* -# - run everything, if relevant paths changed -# - For runtime-wasm, force run all the jobs -# - ${{ if and(ne(parameters.isExtraPlatformsBuild, true), ne(parameters.excludeLibTests, true), ne(parameters.debuggerTestsOnly, true)) }}: - # Library tests - # these run on runtime also - - template: /eng/pipelines/common/templates/wasm-library-tests.yml - parameters: - platforms: - - browser_wasm - # Don't run for rolling builds, as this is covered - extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) - isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }} - isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }} - useHelixMonitor: ${{ parameters.useHelixMonitor }} - scenarios: - - WasmTestOnChrome - # Full trimmed CoreCLR ReadyToRun library tests, available through runtime-wasm-libtests. - ${{ if eq(parameters.runFullR2RLibraryTests, true) }}: - template: /eng/pipelines/common/templates/wasm-coreclr-library-tests.yml @@ -99,192 +31,3 @@ jobs: useHelixMonitor: ${{ parameters.useHelixMonitor }} scenarios: - WasmTestOnChrome - - # Library tests with full threading - - template: /eng/pipelines/common/templates/wasm-library-tests.yml - parameters: - platforms: - - browser_wasm - #- browser_wasm_win - nameSuffix: _Threading - extraBuildArgs: /p:WasmEnableThreads=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) - extraHelixArguments: /p:WasmEnableThreads=true - shouldContinueOnError: true - isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }} - isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }} - alwaysRun: ${{ parameters.isWasmOnlyBuild }} - shouldRunSmokeOnly: onLibrariesAndIllinkChanges - useHelixMonitor: ${{ parameters.useHelixMonitor }} - scenarios: - - WasmTestOnChrome - - # EAT Library tests - only run on linux - - template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml - parameters: - platforms: - - browser_wasm - nameSuffix: _EAT - extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) /maxcpucount:1 - runAOT: false - buildAOTOnHelix: false - isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }} - isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }} - useHelixMonitor: ${{ parameters.useHelixMonitor }} - - # AOT Library tests - browser_wasm - - template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml - parameters: - platforms: - - browser_wasm - - browser_wasm_win - nameSuffix: _Smoke_AOT - extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) - runAOT: true - buildAOTOnHelix: false - shouldRunSmokeOnly: true - isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }} - isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }} - alwaysRun: ${{ parameters.isWasmOnlyBuild }} - useHelixMonitor: ${{ parameters.useHelixMonitor }} - - # AOT Library tests - wasi_wasm - - template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml - parameters: - platforms: - - wasi_wasm - - wasi_wasm_win - nameSuffix: _AOT - extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) - runAOT: true - shouldContinueOnError: true - isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }} - isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }} - alwaysRun: ${{ parameters.isWasmOnlyBuild }} - useHelixMonitor: ${{ parameters.useHelixMonitor }} - - # High resource AOT Library tests - - template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml - parameters: - platforms: - - browser_wasm - - browser_wasm_win - nameSuffix: _HighResource_AOT - extraBuildArgs: /p:TestAssemblies=false /p:RunHighAOTResourceRequiringTestsOnly=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) - buildAOTOnHelix: false - runAOT: true - isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }} - isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }} - alwaysRun: ${{ parameters.isWasmOnlyBuild }} - useHelixMonitor: ${{ parameters.useHelixMonitor }} - - # Wasi - run only smoke tests by default - - template: /eng/pipelines/common/templates/wasm-library-tests.yml - parameters: - platforms: - - wasi_wasm - - wasi_wasm_win - nameSuffix: '_Smoke' - extraBuildArgs: /p:EnableAggressiveTrimming=true /p:RunWasmSamples=false /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) - shouldRunSmokeOnly: true - # ignore test failures for runtime-extra-platforms, but not when this - # is run as part of a wasm specific pipeline like runtime-wasm - shouldContinueOnError: ${{ not(parameters.isWasmOnlyBuild) }} - alwaysRun: ${{ parameters.isWasmOnlyBuild }} - useHelixMonitor: ${{ parameters.useHelixMonitor }} - scenarios: - - WasmTestOnWasmtime - -- ${{ if and(ne(parameters.isExtraPlatformsBuild, true), ne(parameters.excludeNonLibTests, true), ne(parameters.debuggerTestsOnly, true)) }}: - # Builds only - - template: /eng/pipelines/common/templates/wasm-build-only.yml - parameters: - platforms: - - browser_wasm - - browser_wasm_win - nameSuffix: SingleThreaded - extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) - condition: ne(variables['wasmSingleThreadedBuildOnlyNeededOnDefaultPipeline'], true) - publishArtifactsForWorkload: true - publishWBT: true - - - template: /eng/pipelines/common/templates/wasm-build-only.yml - parameters: - platforms: - - browser_wasm - - browser_wasm_win - nameSuffix: MultiThreaded - extraBuildArgs: /p:WasmEnableThreads=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) - publishArtifactsForWorkload: true - publishWBT: false - - # Release build of browser wasm for CoreCLR. Only stages the CoreCLR runtime pack - # (BuildArtifacts_browser_wasm__Release_CoreCLR) that the wasm-tools workload - # install in the Wasm.Build.Tests job below requires. - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: Release - platforms: - - browser_wasm - - browser_wasm_win - jobParameters: - nameSuffix: CoreCLR - buildArgs: -s clr+libs+packs -c Release -rc $(_BuildConfig) /p:TestAssemblies=false /p:InstallWorkloadForTesting=false /p:BuildCrossgen2HostPackForWorkloadTesting=true - timeoutInMinutes: 120 - postBuildSteps: - - template: /eng/pipelines/common/wasm-post-build-steps.yml - parameters: - publishArtifactsForWorkload: true - publishWBT: false - extraVariablesTemplates: - - template: /eng/pipelines/common/templates/runtimes/test-variables.yml - parameters: - testGroup: innerloop - liveLibrariesBuildConfig: Release - - # Browser Wasm.Build.Tests - - template: /eng/pipelines/common/templates/browser-wasm-build-tests.yml - parameters: - platforms: - - browser_wasm - - browser_wasm_win - extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) - # The CoreCLR build-only job above stages the CoreCLR runtime pack for the - # wasm-tools workload install. - includeCoreClrRuntimePack: true - useHelixMonitor: ${{ parameters.useHelixMonitor }} - - - template: /eng/pipelines/common/templates/simple-wasm-build-tests.yml - parameters: - platforms: - - wasi_wasm - - wasi_wasm_win - extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) - isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }} - isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }} - useHelixMonitor: ${{ parameters.useHelixMonitor }} - - - template: /eng/pipelines/common/templates/wasm-runtime-tests.yml - parameters: - platforms: - - browser_wasm - extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) - isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }} - isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }} - useHelixMonitor: ${{ parameters.useHelixMonitor }} - -- ${{ if and(ne(parameters.isExtraPlatformsBuild, true), ne(parameters.excludeOptional, true)) }}: - - template: /eng/pipelines/common/templates/wasm-library-tests.yml - parameters: - platforms: - - wasi_wasm - - wasi_wasm_win - extraBuildArgs: /p:EnableAggressiveTrimming=true /p:RunWasmSamples=false /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) - shouldRunSmokeOnly: true - # always run for wasm only pipelines - alwaysRun: ${{ parameters.isWasmOnlyBuild }} - isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }} - isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }} - useHelixMonitor: ${{ parameters.useHelixMonitor }} - scenarios: - - WasmTestOnWasmtime diff --git a/eng/pipelines/libraries/outerloop-mono.yml b/eng/pipelines/libraries/outerloop-mono.yml deleted file mode 100644 index a806bc037edac5..00000000000000 --- a/eng/pipelines/libraries/outerloop-mono.yml +++ /dev/null @@ -1,83 +0,0 @@ -trigger: none - -schedules: -- cron: "0 8 * * 2,4" # 8 AM UTC => 12 AM PST, every Tuesday and Thursday - displayName: Outerloop scheduled build - branches: - include: - - main - always: false # run only if there were changes since the last successful scheduled run. - -variables: - - template: variables.yml - - name: enableHelixJobMonitor - value: true - - template: /eng/pipelines/helix-platforms.yml - -extends: - template: /eng/pipelines/common/templates/pipeline-with-resources.yml - parameters: - stages: - - stage: Build - jobs: - - ${{ if eq(variables['enableHelixJobMonitor'], true) }}: - - template: /eng/common/core-templates/job/helix-job-monitor.yml - parameters: - helixAccessToken: $(HelixApiAccessToken) - timeoutInMinutes: 540 - allowNoHelixJobs: true - - - 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: - - windows_x64 - - linux_x64 - - osx_x64 - - ${{ if eq(variables['isRollingBuild'], true) }}: - - android_x64 - - linux_arm - - linux_musl_x64 - - windows_x86 - jobParameters: - testScope: outerloop - nameSuffix: AllSubsets_Mono - buildArgs: -s mono+host.native+libs+libs.tests -c $(_BuildConfig) -testscope outerloop /p:ArchiveTests=true - timeoutInMinutes: 180 - includeAllPlatforms: ${{ variables['isRollingBuild'] }} - # extra steps, run tests - postBuildSteps: - - template: /eng/pipelines/libraries/helix.yml - parameters: - testScope: outerloop - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_$(_BuildConfig) - useHelixMonitor: ${{ variables.enableHelixJobMonitor }} - - - 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: - - browser_wasm - jobParameters: - testScope: outerloop - nameSuffix: AllSubsets_Mono - buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) -testscope outerloop /p:ArchiveTests=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) - timeoutInMinutes: 180 - includeAllPlatforms: ${{ variables['isRollingBuild'] }} - # extra steps, run tests - postBuildSteps: - - template: /eng/pipelines/libraries/helix.yml - parameters: - scenarios: - - WasmTestOnChrome - testScope: outerloop - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_$(_BuildConfig) - useHelixMonitor: ${{ variables.enableHelixJobMonitor }} diff --git a/eng/pipelines/runtime-community.yml b/eng/pipelines/runtime-community.yml index 130b548fd64159..35e39fb3aec697 100644 --- a/eng/pipelines/runtime-community.yml +++ b/eng/pipelines/runtime-community.yml @@ -42,61 +42,3 @@ extends: - stage: Build jobs: - - # - # s390x & PPC64 little endian - # 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: - - linux_s390x - - linux_ppc64le - 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_Mono - buildArgs: -s mono+libs+host.native+host.tools+host.pkg+packs+libs.tests+clr.iltools+clr.packages -c $(_BuildConfig) /p:ArchiveTests=true - timeoutInMinutes: 180 - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(variables['isRollingBuild'], true)) - - # - # Build the whole product using Mono - # - - 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: - - freebsd_x64 - 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: - testScope: innerloop - nameSuffix: AllSubsets_Mono - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - timeoutInMinutes: 120 - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(variables['isRollingBuild'], true)) diff --git a/eng/pipelines/runtime-extra-platforms.yml b/eng/pipelines/runtime-extra-platforms.yml index db5a49414b459c..e5052d0e3d5975 100644 --- a/eng/pipelines/runtime-extra-platforms.yml +++ b/eng/pipelines/runtime-extra-platforms.yml @@ -58,14 +58,6 @@ extends: timeoutInMinutes: 540 allowNoHelixJobs: true - # Add wasm jobs only for rolling builds - - ${{ if eq(variables.isRollingBuild, true) }}: - - template: /eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml - parameters: - isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }} - isWasmOnlyBuild: ${{ variables.isWasmOnlyBuild }} - useHelixMonitor: ${{ variables.enableHelixJobMonitor }} - # Add iOS/tvOS jobs - template: /eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml parameters: @@ -101,12 +93,6 @@ extends: isMacCatalystOnlyBuild: ${{ variables.isMacCatalystOnlyBuild }} useHelixMonitor: ${{ variables.enableHelixJobMonitor }} - # Add Linux Bionic jobs - - template: /eng/pipelines/extra-platforms/runtime-extra-platforms-linuxbionic.yml - parameters: - isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }} - isLinuxBionicOnlyBuild: ${{ variables.isLinuxBionicOnlyBuild }} - # Any jobs that are not specific to any platform - ${{ if eq(variables.isNotSpecificPlatformOnlyBuild, true) }}: - template: /eng/pipelines/extra-platforms/runtime-extra-platforms-other.yml diff --git a/eng/pipelines/runtime-linker-tests.yml b/eng/pipelines/runtime-linker-tests.yml index d16b2a022987e2..235ae8160b1f62 100644 --- a/eng/pipelines/runtime-linker-tests.yml +++ b/eng/pipelines/runtime-linker-tests.yml @@ -125,30 +125,3 @@ extends: - template: /eng/pipelines/libraries/execute-trimming-tests-steps.yml parameters: extraTestArgs: '/p:ToolsConfiguration=Debug' - - # - # Build Release config vertical for Browser-wasm - # - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - platforms: - - browser_wasm - jobParameters: - testGroup: innerloop - timeoutInMinutes: 120 - nameSuffix: Runtime_Release - buildArgs: -s mono+libs+tools.illink -c $(_BuildConfig) -p:WasmBuildNative=false -p:AotHostArchitecture=x64 -p:AotHostOS=$(_hostedOS) /p:ToolsConfiguration=Debug - condition: - or( - eq(variables['isRollingBuild'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_wasm_specific_except_wbt_dbg.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_tools_illink.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['DarcDependenciesChanged.Microsoft_NET_ILLink_Tasks'], true)) - postBuildSteps: - - template: /eng/pipelines/libraries/execute-trimming-tests-steps.yml - parameters: - extraTestArgs: '/p:WasmBuildNative=false /p:RuntimeFlavor=Mono /p:ToolsConfiguration=Debug' - runAotTests: false diff --git a/eng/pipelines/runtime-linuxbionic.yml b/eng/pipelines/runtime-linuxbionic.yml deleted file mode 100644 index cf4f07a3974ac7..00000000000000 --- a/eng/pipelines/runtime-linuxbionic.yml +++ /dev/null @@ -1,19 +0,0 @@ -# This is a wrapper yml for `runtime-extra-platforms-linuxbionic.yml`, which -# has all the Linux Bionic jobs. This file is essentially so we can have point -# the pipeline in azdo UI to this, and thus avoid any scheduled triggers - -trigger: none - -variables: - - template: /eng/pipelines/common/variables.yml - -extends: - template: /eng/pipelines/common/templates/pipeline-with-resources.yml - parameters: - stages: - - stage: Build - jobs: - - template: /eng/pipelines/extra-platforms/runtime-extra-platforms-linuxbionic.yml - parameters: - isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }} - isLinuxBionicOnlyBuild: ${{ variables.isLinuxBionicOnlyBuild }} diff --git a/eng/pipelines/runtime-wasm-dbgtests.yml b/eng/pipelines/runtime-wasm-dbgtests.yml deleted file mode 100644 index db1997d8cec46b..00000000000000 --- a/eng/pipelines/runtime-wasm-dbgtests.yml +++ /dev/null @@ -1,33 +0,0 @@ -trigger: none -pr: none - -variables: - - template: /eng/pipelines/common/variables.yml - - name: enableHelixJobMonitor - value: true - -extends: - template: /eng/pipelines/common/templates/pipeline-with-resources.yml - parameters: - stages: - - ${{ if eq(variables['Build.Reason'], 'PullRequest') }}: - - stage: EvaluatePaths - displayName: Evaluate Paths - jobs: - - template: /eng/pipelines/common/evaluate-default-paths.yml - - - stage: Build - jobs: - - ${{ if eq(variables['enableHelixJobMonitor'], true) }}: - - template: /eng/common/core-templates/job/helix-job-monitor.yml - parameters: - helixAccessToken: $(HelixApiAccessToken) - timeoutInMinutes: 540 - allowNoHelixJobs: true - - - template: /eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml - parameters: - isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }} - isWasmOnlyBuild: ${{ variables.isWasmOnlyBuild }} - useHelixMonitor: ${{ variables.enableHelixJobMonitor }} - debuggerTestsOnly: true diff --git a/eng/pipelines/runtime-wasm-non-libtests.yml b/eng/pipelines/runtime-wasm-non-libtests.yml deleted file mode 100644 index 433f4be888a49c..00000000000000 --- a/eng/pipelines/runtime-wasm-non-libtests.yml +++ /dev/null @@ -1,33 +0,0 @@ -trigger: none - -variables: - - template: /eng/pipelines/common/variables.yml - - name: enableHelixJobMonitor - value: true - -extends: - template: /eng/pipelines/common/templates/pipeline-with-resources.yml - parameters: - stages: - - ${{ if eq(variables['Build.Reason'], 'PullRequest') }}: - - stage: EvaluatePaths - displayName: Evaluate Paths - jobs: - - template: /eng/pipelines/common/evaluate-default-paths.yml - - - stage: Build - jobs: - - ${{ if eq(variables['enableHelixJobMonitor'], true) }}: - - template: /eng/common/core-templates/job/helix-job-monitor.yml - parameters: - helixAccessToken: $(HelixApiAccessToken) - timeoutInMinutes: 540 - allowNoHelixJobs: true - - - template: /eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml - parameters: - isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }} - isWasmOnlyBuild: ${{ variables.isWasmOnlyBuild }} - useHelixMonitor: ${{ variables.enableHelixJobMonitor }} - excludeNonLibTests: false - excludeLibTests: true diff --git a/eng/pipelines/runtime-wasm-optional.yml b/eng/pipelines/runtime-wasm-optional.yml deleted file mode 100644 index 57400309597979..00000000000000 --- a/eng/pipelines/runtime-wasm-optional.yml +++ /dev/null @@ -1,35 +0,0 @@ -trigger: none -pr: none - -variables: - - template: /eng/pipelines/common/variables.yml - - name: enableHelixJobMonitor - value: true - -extends: - template: /eng/pipelines/common/templates/pipeline-with-resources.yml - parameters: - stages: - - ${{ if eq(variables['Build.Reason'], 'PullRequest') }}: - - stage: EvaluatePaths - displayName: Evaluate Paths - jobs: - - template: /eng/pipelines/common/evaluate-default-paths.yml - - - stage: Build - jobs: - - ${{ if eq(variables['enableHelixJobMonitor'], true) }}: - - template: /eng/common/core-templates/job/helix-job-monitor.yml - parameters: - helixAccessToken: $(HelixApiAccessToken) - timeoutInMinutes: 540 - allowNoHelixJobs: true - - - template: /eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml - parameters: - isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }} - isWasmOnlyBuild: ${{ variables.isWasmOnlyBuild }} - useHelixMonitor: ${{ variables.enableHelixJobMonitor }} - excludeLibTests: true - excludeNonLibTests: true - excludeOptional: false diff --git a/eng/pipelines/runtime-wasm.yml b/eng/pipelines/runtime-wasm.yml deleted file mode 100644 index 5fe632f320e06e..00000000000000 --- a/eng/pipelines/runtime-wasm.yml +++ /dev/null @@ -1,36 +0,0 @@ -# This is a wrapper yml for `extra-platforms/runtime-extra-platforms-wasm.yml`, which -# has all the wasm jobs. This file is essentially so we can have point -# the pipeline in azdo UI to this, and thus avoid any scheduled triggers - -trigger: none - -variables: - - template: /eng/pipelines/common/variables.yml - - name: enableHelixJobMonitor - value: true - -extends: - template: /eng/pipelines/common/templates/pipeline-with-resources.yml - parameters: - stages: - - ${{ if eq(variables['Build.Reason'], 'PullRequest') }}: - - stage: EvaluatePaths - displayName: Evaluate Paths - jobs: - - template: /eng/pipelines/common/evaluate-default-paths.yml - - - stage: Build - jobs: - - ${{ if eq(variables['enableHelixJobMonitor'], true) }}: - - template: /eng/common/core-templates/job/helix-job-monitor.yml - parameters: - helixAccessToken: $(HelixApiAccessToken) - timeoutInMinutes: 540 - allowNoHelixJobs: true - - - template: /eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml - parameters: - isExtraPlatformsBuild: ${{ variables.isExtraPlatformsBuild }} - isWasmOnlyBuild: ${{ variables.isWasmOnlyBuild }} - useHelixMonitor: ${{ variables.enableHelixJobMonitor }} - excludeOptional: false diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 9fabe16d48fd80..682fa4b5f11af3 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -687,7 +687,7 @@ extends: jobParameters: testGroup: innerloop nameSuffix: Native_GCC - buildArgs: -s clr.native+libs.native+mono+host.native -c $(_BuildConfig) -gcc + buildArgs: -s clr.native+libs.native+host.native -c $(_BuildConfig) -gcc postBuildSteps: - template: /eng/pipelines/common/templates/runtimes/build-runtime-tests.yml parameters: @@ -1143,123 +1143,6 @@ extends: eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true), eq(variables['isRollingBuild'], true)) - # Build Mono AOT offset headers once, for validation - # Only when mono changed - # - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - platforms: - - browser_wasm - - wasi_wasm - variables: - - name: _osParameter - value: -os linux - - name: _archParameter - value: -arch x64 - jobParameters: - nameSuffix: MonoAOTOffsets - buildArgs: -s mono.aotcross -c $(_BuildConfig) /p:MonoGenerateOffsetsOSGroups=$(osGroup) /p:ValidateMonoOffsets=true - postBuildSteps: - # Upload offset files - - task: CopyFiles@2 - displayName: Collect offset files - condition: failed() - inputs: - sourceFolder: '$(Build.SourcesDirectory)/src/mono/mono/offsets' - contents: '*.h.new' - targetFolder: '$(Build.SourcesDirectory)/artifacts/obj/mono/offsetfiles/' - - - publish: '$(Build.SourcesDirectory)/artifacts/obj/mono/offsetfiles' - condition: failed() - artifact: MonoAOTOffsets_$(osGroup)$(osSubGroup) - displayName: Upload offset files - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isRollingBuild'], true)) - - # Build the whole product using Mono runtime - # Only when libraries, mono or installer are changed - # - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} - runtimeFlavor: mono - platforms: - - linux_x64 - - linux_arm - - linux_arm64 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isRollingBuild'], true)) - - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: Release - runtimeFlavor: mono - platforms: - - linux_musl_x64 - - osx_x64 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isRollingBuild'], true)) - - # - # WebAssembly legs - # - - template: /eng/pipelines/common/templates/wasm-library-tests.yml - parameters: - platforms: - - browser_wasm - alwaysRun: ${{ variables.isRollingBuild }} - extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) - useHelixMonitor: ${{ variables.enableHelixJobMonitor }} - scenarios: - - WasmTestOnChrome - - WasmTestOnFirefox - - - template: /eng/pipelines/common/templates/wasm-library-tests.yml - parameters: - platforms: - - browser_wasm_win - alwaysRun: ${{ variables.isRollingBuild }} - extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) - useHelixMonitor: ${{ variables.enableHelixJobMonitor }} - scenarios: - - WasmTestOnChrome - - - template: /eng/pipelines/common/templates/wasm-library-tests.yml - parameters: - platforms: - - browser_wasm_mac - alwaysRun: ${{ variables.isRollingBuild }} - runOnlyOnChromeVersionUpdate: true - shouldRunSmokeOnly: 'true' - nameSuffix: _SmokeMac - extraBuildArgs: /p:AotHostArchitecture=arm64 /p:AotHostOS=$(_hostedOS) - useHelixMonitor: ${{ variables.enableHelixJobMonitor }} - scenarios: - - WasmTestOnChrome - # WebAssembly CoreCLR - template: /eng/pipelines/common/templates/wasm-coreclr-library-tests.yml parameters: @@ -1299,33 +1182,6 @@ extends: - WasmTestOnFirefox - WasmTestOnV8 - # EAT Library tests - only run on linux - - template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml - parameters: - platforms: - - browser_wasm - nameSuffix: _EAT - buildAOTOnHelix: false - runAOT: false - shouldRunSmokeOnly: false - alwaysRun: ${{ variables.isRollingBuild }} - extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) /maxcpucount:2 - useHelixMonitor: ${{ variables.enableHelixJobMonitor }} - - # AOT Library tests - - template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml - parameters: - platforms: - - browser_wasm - - browser_wasm_win - nameSuffix: _Smoke_AOT - runAOT: true - buildAOTOnHelix: false - shouldRunSmokeOnly: true - alwaysRun: ${{ variables.isRollingBuild }} - extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) - useHelixMonitor: ${{ variables.enableHelixJobMonitor }} - # For Wasm.Build.Tests - runtime pack builds - template: /eng/pipelines/common/templates/wasm-build-only.yml parameters: @@ -1349,40 +1205,6 @@ extends: publishArtifactsForWorkload: true publishWBT: false - # Browser Wasm.Build.Tests - - template: /eng/pipelines/common/templates/browser-wasm-build-tests.yml - parameters: - platforms: - - browser_wasm - - browser_wasm_win - alwaysRun: ${{ variables.isRollingBuild }} - extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) - useHelixMonitor: ${{ variables.enableHelixJobMonitor }} - # This pipeline builds the CoreCLR browser-wasm runtime (nameSuffix: CoreCLR), - # so stage its runtime pack for the wasm-tools workload install. - includeCoreClrRuntimePack: true - - # Wasm runtime tests - - template: /eng/pipelines/common/templates/wasm-runtime-tests.yml - parameters: - platforms: - - browser_wasm - alwaysRun: ${{ variables.isRollingBuild }} - extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) - useHelixMonitor: ${{ variables.enableHelixJobMonitor }} - - # WASI/WASM - - - template: /eng/pipelines/common/templates/wasm-build-only.yml - parameters: - platforms: - - wasi_wasm - - wasi_wasm_win - extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) - condition: or(eq(variables.isRollingBuild, true), eq(variables.wasmSingleThreadedBuildOnlyNeededOnDefaultPipeline, true)) - publishArtifactsForWorkload: false - publishWBT: false - # # Android arm/arm64 devices and x64 emulators # Build the whole product using CoreCLR and run functional tests @@ -1610,103 +1432,6 @@ extends: eq(variables['librariesContainsChange'], true), eq(variables['coreclrContainsChange'], true), eq(variables['isRollingBuild'], true)) - - # - # Build Mono and Installer on LLVMAOT mode - # - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: Release - runtimeFlavor: mono - platforms: - - linux_x64 - - linux_arm64 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono_LLVMAOT - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - /p:MonoEnableLLVM=true /p:MonoAOTEnableLLVM=true /p:MonoBundleLLVMOptimizer=true - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isRollingBuild'], true)) - - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} - runtimeFlavor: mono - platforms: - - osx_x64 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono_LLVMAOT - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - /p:MonoEnableLLVM=true /p:MonoAOTEnableLLVM=true /p:MonoBundleLLVMOptimizer=true - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isRollingBuild'], true)) - - # - # Build Mono debug - # Only when mono changed - # - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - runtimeFlavor: mono - buildConfig: debug - platforms: - - osx_x64 - - osx_arm64 - - linux_x64 - - linux_arm64 - # - linux_musl_arm64 - - windows_x64 - - windows_x86 - # - windows_arm64 - jobParameters: - nameSuffix: Mono_Runtime - buildArgs: -s mono -c $(_BuildConfig) - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(variables['isRollingBuild'], true)) - - # - # Build Mono release AOT cross-compilers - # Only when mono changed - # - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - runtimeFlavor: mono - buildConfig: release - platforms: - - linux_x64 - - linux_musl_x64 - - linux_arm64 - - linux_musl_arm64 - - windows_arm64 - - windows_x64 - - osx_x64 - - osx_arm64 - jobParameters: - buildArgs: -c $(_BuildConfig) /p:DotNetBuildMonoCrossAOT=true - nameSuffix: CrossAOT_Mono - runtimeVariant: crossaot - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isRollingBuild'], true)) - # # Build and test libraries for .NET Framework # @@ -1753,160 +1478,6 @@ extends: eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_tools_illink.containsChange'], true), eq(variables['isRollingBuild'], true)) - # - # Build the whole product using Mono 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: mono - platforms: - - osx_x64 - - linux_arm64 - variables: - - name: timeoutPerTestInMinutes - value: 60 - - name: timeoutPerTestCollectionInMinutes - value: 180 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono_Minijit_RuntimeTests - runtimeVariant: minijit - buildArgs: -s mono+libs+clr.hosts+clr.iltools -c Release - timeoutInMinutes: 180 - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), - eq(variables['isRollingBuild'], true)) - - postBuildSteps: - - template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml - parameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_Release - useHelixMonitor: ${{ variables.enableHelixJobMonitor }} - extraVariablesTemplates: - - template: /eng/pipelines/common/templates/runtimes/test-variables.yml - - # - # Build the whole product using Mono 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: mono - platforms: - - windows_x64 - variables: - - name: timeoutPerTestInMinutes - value: 60 - - name: timeoutPerTestCollectionInMinutes - value: 180 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono_Minijit_RuntimeTests - runtimeVariant: minijit - buildArgs: -s mono+libs+clr.hosts+clr.iltools -c Release -lc ${{ variables.debugOnPrReleaseOnRolling }} - timeoutInMinutes: 180 - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), - eq(variables['isRollingBuild'], true)) - - postBuildSteps: - - template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml - parameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_Release - useHelixMonitor: ${{ variables.enableHelixJobMonitor }} - extraVariablesTemplates: - - template: /eng/pipelines/common/templates/runtimes/test-variables.yml - parameters: - liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }} - - # - # Mono CoreCLR runtime Test executions using live libraries in interpreter mode - # Only when Mono is changed - - - 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: mono - platforms: - - osx_x64 - variables: - - name: timeoutPerTestInMinutes - value: 60 - - name: timeoutPerTestCollectionInMinutes - value: 180 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono_Interpreter_RuntimeTests - runtimeVariant: monointerpreter - buildArgs: -s mono+libs+clr.hosts+clr.iltools -c Release - timeoutInMinutes: 180 - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), - eq(variables['isRollingBuild'], true)) - postBuildSteps: - - template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml - parameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_Release - useHelixMonitor: ${{ variables.enableHelixJobMonitor }} - extraVariablesTemplates: - - template: /eng/pipelines/common/templates/runtimes/test-variables.yml - # - # Mono CoreCLR runtime Test executions using live libraries and LLVM AOT - # Only when Mono is changed - # - - 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: mono - platforms: - - linux_x64 - # Disabled pending outcome of https://github.com/dotnet/runtime/issues/60234 investigation - #- linux_arm64 - variables: - - name: timeoutPerTestInMinutes - value: 60 - - name: timeoutPerTestCollectionInMinutes - value: 180 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono_LLVMAot_RuntimeTests - runtimeVariant: llvmaot - buildArgs: -s mono+libs+clr.hosts+clr.iltools -c Release /p:MonoEnableLLVM=true /p:MonoAOTEnableLLVM=true /p:MonoBundleLLVMOptimizer=true - timeoutInMinutes: 180 - - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), - eq(variables['isRollingBuild'], true)) - postBuildSteps: - - template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml - parameters: - creator: dotnet-bot - llvmAotStepContainer: linux_x64_llvmaot - testRunNamePrefixSuffix: Mono_Release - useHelixMonitor: ${{ variables.enableHelixJobMonitor }} - extraVariablesTemplates: - - template: /eng/pipelines/common/templates/runtimes/test-variables.yml - # # CoreCLR Test builds using live libraries release build # Only when CoreCLR is changed @@ -2025,68 +1596,3 @@ extends: eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), eq(variables['isRollingBuild'], true)) - - # - # Build and test Mono Interpreter with the libraries testss - # - - 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: ${{ variables.debugOnPrReleaseOnRolling }} - runtimeFlavor: mono - runtimeVariant: monointerpreter - platforms: - - linux_x64 - #- osx_x64 - #- windows_x64 - jobParameters: - testGroup: innerloop - nameSuffix: Mono_Interpreter_LibrariesTests - buildArgs: -s mono+libs+libs.tests -rc Release -c $(_BuildConfig) /p:ArchiveTests=true - timeoutInMinutes: 480 - # extra steps, run tests - postBuildSteps: - - template: /eng/pipelines/libraries/helix.yml - parameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_Interpreter_$(_BuildConfig) - useHelixMonitor: ${{ variables.enableHelixJobMonitor }} - interpreter: true - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(variables['isRollingBuild'], true)) - - # - # Build and test Mono Minijit with the libraries testss - # - - 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: ${{ variables.debugOnPrReleaseOnRolling }} - runtimeFlavor: mono - platforms: - - linux_arm64 - - linux_x64 - - osx_x64 - #- windows_x64 - jobParameters: - testGroup: innerloop - nameSuffix: Mono_MiniJIT_LibrariesTests - buildArgs: -s mono+libs+libs.tests -rc Release -c $(_BuildConfig) /p:ArchiveTests=true - timeoutInMinutes: 480 - # extra steps, run tests - postBuildSteps: - - template: /eng/pipelines/libraries/helix.yml - parameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_Minijit_$(_BuildConfig) - useHelixMonitor: ${{ variables.enableHelixJobMonitor }} - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(variables['isRollingBuild'], true))