diff --git a/eng/pipelines/common/templates/runtimes/run-test-job.yml b/eng/pipelines/common/templates/runtimes/run-test-job.yml
index 47e25bb28cc1e7..c7628f67e0fa1b 100644
--- a/eng/pipelines/common/templates/runtimes/run-test-job.yml
+++ b/eng/pipelines/common/templates/runtimes/run-test-job.yml
@@ -345,11 +345,7 @@ jobs:
timeoutPerTestInMinutes: $(timeoutPerTestInMinutes)
timeoutPerTestCollectionInMinutes: $(timeoutPerTestCollectionInMinutes)
-
runCrossGen2: ${{ eq(parameters.readyToRun, true) }}
- ${{ if and(ne(parameters.testGroup, 'innerloop'), eq(parameters.runtimeFlavor, 'coreclr')) }}:
- runPALTestsDir: '$(coreClrProductRootFolderPath)/paltests'
-
compositeBuildMode: ${{ parameters.compositeBuildMode }}
runInUnloadableContext: ${{ parameters.runInUnloadableContext }}
tieringTest: ${{ parameters.tieringTest }}
diff --git a/eng/pipelines/common/templates/runtimes/send-to-helix-step.yml b/eng/pipelines/common/templates/runtimes/send-to-helix-step.yml
index de075f2f3fba30..a45c3817d13b53 100644
--- a/eng/pipelines/common/templates/runtimes/send-to-helix-step.yml
+++ b/eng/pipelines/common/templates/runtimes/send-to-helix-step.yml
@@ -17,7 +17,6 @@ parameters:
timeoutPerTestCollectionInMinutes: ''
timeoutPerTestInMinutes: ''
runCrossGen2: ''
- runPALTestsDir: ''
compositeBuildMode: false
helixProjectArguments: ''
runInUnloadableContext: ''
@@ -60,7 +59,6 @@ steps:
_LongRunningGcTests: ${{ parameters.longRunningGcTests }}
_GcSimulatorTests: ${{ parameters.gcSimulatorTests }}
_Scenarios: ${{ join(',', parameters.scenarios) }}
- _PALTestsDir: ${{ parameters.runPALTestsDir }}
_TimeoutPerTestCollectionInMinutes: ${{ parameters.timeoutPerTestCollectionInMinutes }}
_TimeoutPerTestInMinutes: ${{ parameters.timeoutPerTestInMinutes }}
RuntimeFlavor: ${{ parameters.runtimeFlavor }}
diff --git a/eng/pipelines/coreclr/ci.yml b/eng/pipelines/coreclr/ci.yml
index 209314a136702f..e277bf0f483fd4 100644
--- a/eng/pipelines/coreclr/ci.yml
+++ b/eng/pipelines/coreclr/ci.yml
@@ -165,3 +165,23 @@ extends:
platforms:
- linux_x64
- windows_x64
+
+ #
+ # PAL Tests
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: Debug
+ platforms:
+ - linux_x64
+ - linux_musl_x64
+ - linux_arm64
+ - linux_musl_arm64
+ - osx_x64
+ - osx_arm64
+ jobParameters:
+ buildArgs: -s clr.paltests+clr.paltestlist
+ nameSuffix: PALTests
+ extraStepsTemplate: /eng/pipelines/coreclr/templates/run-paltests-step.yml
diff --git a/eng/pipelines/coreclr/templates/build-job.yml b/eng/pipelines/coreclr/templates/build-job.yml
index 6a7e9e0a150e01..ff6abefba7e7ef 100644
--- a/eng/pipelines/coreclr/templates/build-job.yml
+++ b/eng/pipelines/coreclr/templates/build-job.yml
@@ -92,7 +92,7 @@ jobs:
value: ''
- ${{ if ne(parameters.testGroup, 'innerloop') }}:
- name: clrRuntimeComponentsBuildArg
- value: '-component runtime -component alljits -component paltests -component nativeaot -component spmi '
+ value: '-component runtime -component alljits -component nativeaot -component spmi '
- name: pgoInstrumentArg
value: ''
@@ -172,7 +172,7 @@ jobs:
displayName: Disk Usage after Build
# Build CoreCLR Managed Components
- - script: $(Build.SourcesDirectory)$(dir)build$(scriptExt) -subset clr.corelib+clr.nativecorelib+clr.nativeaotlibs+clr.tools+clr.packages+clr.paltestlist $(crossArg) $(compilerArg) -arch $(archType) $(osArg) -c $(buildConfig) $(pgoInstrumentArg) $(officialBuildIdArg) -ci
+ - script: $(Build.SourcesDirectory)$(dir)build$(scriptExt) -subset clr.corelib+clr.nativecorelib+clr.nativeaotlibs+clr.tools+clr.packages $(crossArg) $(compilerArg) -arch $(archType) $(osArg) -c $(buildConfig) $(pgoInstrumentArg) $(officialBuildIdArg) -ci
displayName: Build managed product components and packages
# Build native test components
diff --git a/eng/pipelines/coreclr/templates/run-paltests-step.yml b/eng/pipelines/coreclr/templates/run-paltests-step.yml
new file mode 100644
index 00000000000000..3b3881986f7d15
--- /dev/null
+++ b/eng/pipelines/coreclr/templates/run-paltests-step.yml
@@ -0,0 +1,23 @@
+parameters:
+ continueOnError: 'false' # optional -- determines whether to continue the build if the step errors
+ helixQueues: '' # required -- Helix queues
+ buildConfig: '' # required -- build configuration
+ archType: '' # required -- targeting CPU architecture
+ osGroup: '' # required -- operating system for the job
+ osSubgroup: '' # optional -- operating system subgroup
+ dependOnEvaluatePaths: false
+
+steps:
+ - template: /eng/pipelines/common/templates/runtimes/send-to-helix-step.yml
+ parameters:
+ displayName: 'Send job to Helix'
+ helixBuild: $(Build.BuildNumber)
+ helixSource: $(_HelixSource)
+ helixType: 'build/tests/'
+ helixQueues: ${{ parameters.helixQueues }}
+ creator: dotnet-bot
+ helixProjectArguments: '$(Build.SourcesDirectory)/src/coreclr/scripts/paltests.proj'
+ BuildConfig: ${{ parameters.buildConfig }}
+ osGroup: ${{ parameters.osGroup }}
+ archType: ${{ parameters.archType }}
+ shouldContinueOnError: ${{ parameters.continueOnError }}
diff --git a/src/coreclr/scripts/paltests.proj b/src/coreclr/scripts/paltests.proj
new file mode 100644
index 00000000000000..167208f4ecb087
--- /dev/null
+++ b/src/coreclr/scripts/paltests.proj
@@ -0,0 +1,44 @@
+
+
+ true
+ $(_Creator)
+ $(_HelixAccessToken)
+ $(_HelixBuild)
+ $(_HelixSource)
+ $(_HelixTargetQueues)
+ $(_HelixType)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @(PalTestArchive)
+ ./runpaltestshelix.sh
+ 0:10
+
+
+
+
diff --git a/src/tests/Common/helixpublishwitharcade.proj b/src/tests/Common/helixpublishwitharcade.proj
index 96392c36e68bd3..41e2e6809ffc99 100644
--- a/src/tests/Common/helixpublishwitharcade.proj
+++ b/src/tests/Common/helixpublishwitharcade.proj
@@ -47,7 +47,6 @@
<_RuntimeVariant>
BundledNETCoreAppPackageVersion
- <_PALTestsDir>
<_SuperPmiCollect>false
@@ -107,7 +106,6 @@
RuntimeVariant=$(_RuntimeVariant);
BundledNETCoreAppPackageVersion=$(BundledNETCoreAppPackageVersion);
HelixRuntimeRid=$(HelixRuntimeRid);
- PALTestsDir=$(_PALTestsDir);
SuperPmiCollect=$(_SuperPmiCollect)
@@ -134,7 +132,6 @@
-
<_Scenarios Include="$(_Scenarios.Split(','))" />
@@ -326,12 +323,6 @@
-
-
-
-
@@ -933,12 +924,6 @@
$(AppleTestTarget)
$([System.TimeSpan]::FromMinutes($(TimeoutPerTestCollectionInMinutes)))
-
-
- $(LegacyPayloadsRootDirectory)paltests.tar.gz
- $(_WorkaroundForNuGetMigrationsForPrepending) ./runpaltestshelix.sh
- $([System.TimeSpan]::FromMinutes($(TimeoutPerTestCollectionInMinutes)))
-