diff --git a/.azure/pipelines/helix-matrix.yml b/.azure/pipelines/helix-matrix.yml
index bf34bfd8e01f..9a6abda53f56 100644
--- a/.azure/pipelines/helix-matrix.yml
+++ b/.azure/pipelines/helix-matrix.yml
@@ -1,5 +1,9 @@
# We only want to run full helix matrix on main
-pr: none
+pr:
+ autoCancel: true
+ branches:
+ include:
+ - '*'
trigger: none
schedules:
# Cron timezone is UTC.
@@ -48,3 +52,41 @@ jobs:
- name: Helix_logs
path: artifacts/log/
publishOnError: true
+
+# Helix ARM64
+- ${{ if ne(variables['System.TeamProject'], 'internal') }}:
+ - template: jobs/default-build.yml
+ parameters:
+ jobName: Helix_matrix_arm64
+ jobDisplayName: "Tests: Helix ARM64 matrix"
+ agentOs: Windows
+ timeoutInMinutes: 480
+ steps:
+ - script: ./eng/build.cmd
+ -ci
+ -arch x64
+ -pack
+ -all
+ displayName: Build x64/arm64
+ # Build the arm64 shared framework
+ - script: ./eng/build.cmd
+ -ci
+ -arch arm64
+ -pack
+ -noBuildJava
+ -noBuildNative
+ /p:OnlyPackPlatformSpecificPackages=true
+ displayName: Build ARM64 shared fx
+ - script: .\eng\build.cmd -ci -arch arm64 -noBuildRepoTasks -NoRestore -test -all
+ -projects eng\helix\helix.proj /p:IsHelixWindowsArmCheck=true
+ /p:IsHelixJob=true /p:RunTemplateTests=true
+ /p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
+ displayName: Run build.cmd helix target
+ env:
+ HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
+ SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
+ artifacts:
+ - name: Helix_arm64_logs
+ path: artifacts/log/
+ publishOnError: true
+ includeForks: true
diff --git a/eng/targets/Helix.Common.props b/eng/targets/Helix.Common.props
index 821967b2d727..5c185c59e802 100644
--- a/eng/targets/Helix.Common.props
+++ b/eng/targets/Helix.Common.props
@@ -33,6 +33,12 @@
+
+
+
+
+
+
@@ -54,10 +60,6 @@
-
-
-