diff --git a/eng/pipelines/common/evaluate-default-paths.yml b/eng/pipelines/common/evaluate-default-paths.yml index b5954295451a5..5ce7b7a1f346e 100644 --- a/eng/pipelines/common/evaluate-default-paths.yml +++ b/eng/pipelines/common/evaluate-default-paths.yml @@ -17,6 +17,13 @@ parameters: src/tasks/WasmAppBuilder/* src/tasks/WasmBuildTasks/* src/tasks/WorkloadBuildTasks/* + src/tests/Common/wasm-test-runner/* + ] + _wasm_pipelines: [ + eng/pipelines/*wasm* + eng/pipelines/common/templates/*wasm* + eng/pipelines/common/templates/runtime/wasm* + eng/pipelines/coreclr/*wasm* ] jobs: @@ -45,6 +52,7 @@ jobs: - eng/pipelines/mono/* - eng/pipelines/libraries/* - eng/pipelines/common/evaluate-default-paths.yml + - ${{ parameters._const_paths._wasm_pipelines }} - subset: mono_excluding_wasm include: @@ -54,6 +62,7 @@ jobs: - src/native/libs/System.IO.Compression.Native/* exclude: - ${{ parameters._const_paths._wasm_specific_only }} + - ${{ parameters._const_paths._wasm_pipelines }} - eng/Version.Details.xml - '*.md' @@ -88,10 +97,21 @@ jobs: - eng/pipelines/mono/* - eng/pipelines/installer/* - eng/pipelines/common/evaluate-default-paths.yml + - ${{ parameters._const_paths._wasm_pipelines }} - subset: runtimetests include: - src/tests/* + + - subset: non_runtimetests + exclude: + - src/tests/* + - ${{ parameters._const_paths._wasm_pipelines }} + + # having this ensures that change in evaluate-default-paths.yml + # doesn't trigger jobs + - eng/pipelines/common/evaluate-default-paths.yml + - subset: installer include: - docs/manpages/* @@ -111,6 +131,7 @@ jobs: - eng/pipelines/mono/* - eng/pipelines/libraries/* - eng/pipelines/common/evaluate-default-paths.yml + - ${{ parameters._const_paths._wasm_pipelines }} # We have limited Apple Silicon testing capacity # We want PR testing on a narrower set of changes @@ -174,6 +195,11 @@ jobs: exclude: - src/mono/wasm/Wasm.Build.Tests/* - src/mono/wasm/debugger/* + - ${{ parameters._const_paths._wasm_pipelines }} + + # having this ensures that change in evaluate-default-paths.yml + # doesn't trigger jobs + - eng/pipelines/common/evaluate-default-paths.yml - subset: wasm_wbt_or_dbg include: @@ -211,6 +237,7 @@ jobs: - subset: non_wasm exclude: - ${{ parameters._const_paths._wasm_specific_only }} + - ${{ parameters._const_paths._wasm_pipelines }} # having this ensures that change in evaluate-default-paths.yml won't # trigger non-onlywasm jobs @@ -220,6 +247,7 @@ jobs: - subset: non_mono_and_wasm exclude: - ${{ parameters._const_paths._wasm_specific_only }} + - ${{ parameters._const_paths._wasm_pipelines }} - eng/testing/tests.mobile.targets - src/mono/* @@ -231,5 +259,9 @@ jobs: - src/tasks/WasmBuildTasks/* - src/tasks/WorkloadBuildTasks/* + # having this ensures that change in evaluate-default-paths.yml + # doesn't trigger jobs + - eng/pipelines/common/evaluate-default-paths.yml + - ${{ if ne(parameters.extraSubsets, '') }}: - ${{ parameters.extraSubsets }} diff --git a/eng/pipelines/common/templates/wasm-build-only.yml b/eng/pipelines/common/templates/wasm-build-only.yml index d9e87dc241232..b25cf85c88c0b 100644 --- a/eng/pipelines/common/templates/wasm-build-only.yml +++ b/eng/pipelines/common/templates/wasm-build-only.yml @@ -26,7 +26,9 @@ jobs: or( eq(variables['wasmDarcDependenciesChanged'], true), eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_wasm.containsChange'], true), + and( + eq(dependencies.evaluate_paths.outputs['SetPathVars_wasm.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_non_runtimetests.containsChange'], true)), eq(dependencies.evaluate_paths.outputs['SetPathVars_wasm_libraries.containsChange'], true), eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true)) ] diff --git a/eng/pipelines/common/templates/wasm-library-tests.yml b/eng/pipelines/common/templates/wasm-library-tests.yml index 04142455e1a28..dd6453dbd5326 100644 --- a/eng/pipelines/common/templates/wasm-library-tests.yml +++ b/eng/pipelines/common/templates/wasm-library-tests.yml @@ -38,7 +38,9 @@ jobs: eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), eq(dependencies.evaluate_paths.outputs['SetPathVars_wasm_libraries.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_wasm.containsChange'], true)))) + and( + eq(dependencies.evaluate_paths.outputs['SetPathVars_wasm.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_non_runtimetests.containsChange'], true))))) ] - name: onlyWBTOrDbgTestHaveChanges value: diff --git a/eng/pipelines/common/variables.yml b/eng/pipelines/common/variables.yml index 0798b9fcd2e58..6b56959d52778 100644 --- a/eng/pipelines/common/variables.yml +++ b/eng/pipelines/common/variables.yml @@ -41,4 +41,10 @@ variables: ne(variables['isExtraPlatformsBuild'], true), eq(variables['isRollingBuild'], true))) ] +- name: nonWasmRuntimeTestsContainsChange + value: + and( + eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + ne(dependencies.evaluate_paths.outputs['SetPathVars_wasm.containsChange'], true)) + - template: /eng/pipelines/common/perf-variables.yml diff --git a/eng/pipelines/runtime-extra-platforms-other.yml b/eng/pipelines/runtime-extra-platforms-other.yml index 95fe8858ba2ba..c3618a92f081f 100644 --- a/eng/pipelines/runtime-extra-platforms-other.yml +++ b/eng/pipelines/runtime-extra-platforms-other.yml @@ -469,7 +469,7 @@ jobs: condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), eq(variables['isRollingBuild'], true)) @@ -488,7 +488,7 @@ jobs: condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(variables['isRollingBuild'], true)) # @@ -521,7 +521,7 @@ jobs: condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(variables['isRollingBuild'], true)) # extra steps, run tests extraStepsTemplate: /eng/pipelines/common/templates/runtimes/android-runtime-and-send-to-helix.yml @@ -559,7 +559,7 @@ jobs: runtimeVariant: monointerpreter condition: >- or( - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), eq(variables['isRollingBuild'], true)) # extra steps, run tests @@ -597,7 +597,7 @@ jobs: timeoutInMinutes: 240 condition: >- or( - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), eq(variables['isRollingBuild'], true)) # don't run tests on PRs until we can get significantly more devices @@ -629,7 +629,7 @@ jobs: condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(variables['isRollingBuild'], true)) # @@ -652,5 +652,5 @@ jobs: condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(variables['isRollingBuild'], true)) diff --git a/eng/pipelines/runtime-llvm.yml b/eng/pipelines/runtime-llvm.yml index 9f58d2bab8f60..3033f05681e60 100644 --- a/eng/pipelines/runtime-llvm.yml +++ b/eng/pipelines/runtime-llvm.yml @@ -159,7 +159,7 @@ jobs: runtimeVariant: llvmaot condition: >- or( - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), eq(variables['isRollingBuild'], true)) @@ -186,7 +186,7 @@ jobs: condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(variables['isRollingBuild'], true)) # @@ -211,5 +211,5 @@ jobs: condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(variables['isRollingBuild'], true)) diff --git a/eng/pipelines/runtime-staging.yml b/eng/pipelines/runtime-staging.yml index 9aa56c919a7cd..bdf8e8c9ad10b 100644 --- a/eng/pipelines/runtime-staging.yml +++ b/eng/pipelines/runtime-staging.yml @@ -87,7 +87,7 @@ jobs: timeoutInMinutes: 240 condition: >- or( - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), eq(variables['isRollingBuild'], true)) ${{ if eq(variables['isRollingBuild'], true) }}: diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index a32b0155816d1..075e4abd4b5fb 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -94,7 +94,7 @@ jobs: condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(variables['isRollingBuild'], true)) # @@ -117,7 +117,7 @@ jobs: eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(variables['isRollingBuild'], true)) # @@ -136,7 +136,7 @@ jobs: or( eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(variables['isRollingBuild'], true)) # @@ -210,7 +210,7 @@ jobs: condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(variables['isFullMatrix'], true)) # @@ -232,7 +232,7 @@ jobs: condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(variables['isFullMatrix'], true)) # @@ -256,7 +256,7 @@ jobs: condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(variables['isFullMatrix'], true)) # @@ -750,7 +750,7 @@ jobs: condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), eq(variables['isRollingBuild'], true)) @@ -770,7 +770,7 @@ jobs: runtimeVariant: llvmaot condition: >- or( - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), eq(variables['isRollingBuild'], true)) @@ -938,7 +938,7 @@ jobs: condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(variables['isRollingBuild'], true)) # @@ -961,7 +961,7 @@ jobs: condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(variables['isRollingBuild'], true)) - template: /eng/pipelines/common/platform-matrix.yml @@ -981,7 +981,7 @@ jobs: condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(variables['isRollingBuild'], true)) - template: /eng/pipelines/common/platform-matrix.yml @@ -1015,7 +1015,7 @@ jobs: condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(variables['isRollingBuild'], true)) # @@ -1039,7 +1039,7 @@ jobs: condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(variables['isRollingBuild'], true)) # @@ -1062,7 +1062,7 @@ jobs: condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(variables['isRollingBuild'], true)) # # Mono CoreCLR runtime Test executions using live libraries and LLVM AOT @@ -1087,7 +1087,7 @@ jobs: condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(variables['isRollingBuild'], true)) # @@ -1112,7 +1112,7 @@ jobs: condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(variables['nonWasmRuntimeTestsContainsChange'], true), eq(variables['isRollingBuild'], true)) # diff --git a/src/tests/Common/wasm-test-runner/WasmTestRunner.proj b/src/tests/Common/wasm-test-runner/WasmTestRunner.proj index 3c604b39a4a85..a692df6a29300 100644 --- a/src/tests/Common/wasm-test-runner/WasmTestRunner.proj +++ b/src/tests/Common/wasm-test-runner/WasmTestRunner.proj @@ -1,6 +1,6 @@ - + false