diff --git a/eng/pipelines/common/templates/runtimes/run-test-job.yml b/eng/pipelines/common/templates/runtimes/run-test-job.yml
index 2257e719b8564..cfcf04675a51e 100644
--- a/eng/pipelines/common/templates/runtimes/run-test-job.yml
+++ b/eng/pipelines/common/templates/runtimes/run-test-job.yml
@@ -480,6 +480,9 @@ jobs:
gcSimulatorTests: true
scenarios:
- normal
+ ${{ if in(parameters.testGroup, 'gc-standalone') }}:
+ scenarios:
+ - gcstandalone
${{ if in(parameters.testGroup, 'jitelthookenabled') }}:
scenarios:
- jitelthookenabled
diff --git a/eng/pipelines/coreclr/gc-standalone.yml b/eng/pipelines/coreclr/gc-standalone.yml
new file mode 100644
index 0000000000000..4d30929070532
--- /dev/null
+++ b/eng/pipelines/coreclr/gc-standalone.yml
@@ -0,0 +1,49 @@
+trigger: none
+
+schedules:
+- cron: "0 5 * * *"
+ displayName: Mon through Sun at 9:00 PM (UTC-8:00)
+ branches:
+ include:
+ - main
+ always: true
+
+jobs:
+
+- template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_arm64
+ - windows_arm64
+ - windows_x64
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: gc-standalone
+
+- template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
+ buildConfig: checked
+ platforms:
+ - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ jobParameters:
+ testGroup: gc-standalone
+ liveLibrariesBuildConfig: Release
+
+- template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_arm64
+ - Linux_x64
+ - windows_arm64
+ - windows_x64
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ testGroup: gc-standalone
+ displayNameArgs: GCStandAlone
+ liveLibrariesBuildConfig: Release
diff --git a/eng/pipelines/coreclr/templates/xplat-pipeline-job.yml b/eng/pipelines/coreclr/templates/xplat-pipeline-job.yml
index e3200502b7060..712bd74057c4f 100644
--- a/eng/pipelines/coreclr/templates/xplat-pipeline-job.yml
+++ b/eng/pipelines/coreclr/templates/xplat-pipeline-job.yml
@@ -129,7 +129,8 @@ jobs:
value: ''
# 'innerloop' and 'clrinterpreter' jobs run the Priority 0 tests; everything else runs the Priority 1 tests.
- - ${{ if and(ne(parameters.testGroup, 'innerloop'), ne(parameters.testGroup, 'clrinterpreter')) }}:
+ # 'gc-standalone' is forced to run pri0 as well to start with.
+ - ${{ if and(ne(parameters.testGroup, 'innerloop'), ne(parameters.testGroup, 'clrinterpreter'), ne(parameters.testGroup, 'gc-standalone')) }}:
- ${{ if ne(parameters.osGroup, 'windows') }}:
- name: priorityArg
value: 'priority1'
diff --git a/src/tests/Common/testenvironment.proj b/src/tests/Common/testenvironment.proj
index b1a359d90283b..2c18abc2b133b 100644
--- a/src/tests/Common/testenvironment.proj
+++ b/src/tests/Common/testenvironment.proj
@@ -38,6 +38,7 @@
COMPlus_FeatureSIMD;
COMPlus_ForceRelocs;
COMPlus_GCStress;
+ COMPlus_GCName;
COMPlus_HeapVerify;
COMPlus_JITMinOpts;
COMPlus_JitELTHookEnabled;
@@ -155,6 +156,8 @@
+
+