From c5f646a16bc9fd47f2fa22829e6331e2b48f6b67 Mon Sep 17 00:00:00 2001 From: Tanner Gooding Date: Fri, 17 Jul 2026 07:39:00 -0700 Subject: [PATCH] Add wasm HardwareIntrinsics PR pipeline The wasm HardwareIntrinsics tests only compile when TargetArchitecture is wasm, so no PR-triggered intrinsics pipeline exercised them -- letting build breaks like #130962 slip through. Mirror hardware-intrinsics-arm64.yml with a browser_wasm leg filtered on src/coreclr/jit/*wasm*, building the tests for coverage only (browser/V8 can't run them yet). Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .../coreclr/hardware-intrinsics-wasm.yml | 28 +++++++++++++ .../jit-hardware-intrinsics-wasm.yml | 39 +++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 eng/pipelines/coreclr/hardware-intrinsics-wasm.yml create mode 100644 eng/pipelines/coreclr/templates/jit-hardware-intrinsics-wasm.yml diff --git a/eng/pipelines/coreclr/hardware-intrinsics-wasm.yml b/eng/pipelines/coreclr/hardware-intrinsics-wasm.yml new file mode 100644 index 00000000000000..141684261b9e7e --- /dev/null +++ b/eng/pipelines/coreclr/hardware-intrinsics-wasm.yml @@ -0,0 +1,28 @@ +trigger: none +pr: + branches: + include: + - main + paths: + include: + - eng/pipelines/coreclr/hardware-intrinsics-wasm.yml + - eng/pipelines/coreclr/templates/jit-hardware-intrinsics-wasm.yml + - src/coreclr/jit/*wasm* + - src/tests/JIT/HardwareIntrinsics/Wasm/** + +variables: + - template: /eng/pipelines/common/variables.yml + - template: /eng/pipelines/helix-platforms.yml + +extends: + template: /eng/pipelines/common/templates/pipeline-with-resources.yml + parameters: + isOfficialBuild: false + stages: + - stage: Build + jobs: + - template: /eng/pipelines/coreclr/templates/jit-hardware-intrinsics-wasm.yml + parameters: + platforms: + - browser_wasm + testBuildArgs: '/p:EnableWasmHWIntrinsicsTests=true -tree:JIT/HardwareIntrinsics/Wasm' diff --git a/eng/pipelines/coreclr/templates/jit-hardware-intrinsics-wasm.yml b/eng/pipelines/coreclr/templates/jit-hardware-intrinsics-wasm.yml new file mode 100644 index 00000000000000..6f93f83e3ac603 --- /dev/null +++ b/eng/pipelines/coreclr/templates/jit-hardware-intrinsics-wasm.yml @@ -0,0 +1,39 @@ +parameters: + - name: platforms + type: object + - name: testBuildArgs + type: string + +jobs: +# Build CoreCLR + libraries for wasm and compile the wasm HardwareIntrinsics +# tests. Browser/V8 can't execute these tests yet (wasm SIMD support is +# incomplete), so this is build-only coverage -- sendToHelix is false. See the +# note in build-runtime-tests-and-send-to-helix.yml. +- 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 + platforms: ${{ parameters.platforms }} + variables: + - name: timeoutPerTestInMinutes + value: 60 + - name: timeoutPerTestCollectionInMinutes + value: 180 + jobParameters: + testGroup: outerloop + nameSuffix: CoreCLR + buildArgs: -s clr+libs+packs -c $(_BuildConfig) /p:TestAssemblies=false + timeoutInMinutes: 180 + postBuildSteps: + - template: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml + parameters: + creator: dotnet-bot + testBuildArgs: ${{ parameters.testBuildArgs }} + testRunNamePrefixSuffix: CoreCLR + sendToHelix: false + extraVariablesTemplates: + - template: /eng/pipelines/common/templates/runtimes/test-variables.yml + parameters: + testGroup: outerloop