Use join function in yaml for defining Helix queues and scenarios (#23367)
authorEgor Chesakov <Egor.Chesakov@microsoft.com>
Tue, 2 Apr 2019 00:37:53 +0000 (17:37 -0700)
committerGitHub <noreply@github.com>
Tue, 2 Apr 2019 00:37:53 +0000 (17:37 -0700)
* Enable Ubuntu.1804.Arm32.Open (running on Ubuntu.1604.Arm32.Open) against PRs

* Restrict Ubuntu.1404.Arm32.Open to running against CI (commit validation) only

* Enable Debian.9.Arm32.Open, Ubuntu.1604.Arm32.Open and Ubuntu.1804.Arm32.Open (running on Ubuntu.1604.Arm32.Open) against scheduled runs

* Enable Debian.9.Arm32, Ubuntu.1604.Arm32 and Ubuntu.1804.Arm32 (running on Ubuntu.1604.Arm32) in internal project (FYI, we haven't had any Linux arm32 testing in internal so far)

* Enable Debian.9.Arm64.Open (running on Ubuntu.1604.Arm64.Docker.Open) against scheduled runs

* Enable Alpine.38.Arm64 (running on Ubuntu.1604.Arm64.Docker) in internal project

eng/platform-matrix.yml
eng/send-to-helix-step.yml
eng/test-job.yml

index b99a04b..1403a84 100644 (file)
@@ -32,15 +32,21 @@ jobs:
         osIdentifier: Linux
         containerName: ubuntu_1404_arm_cross_build_image
         helixQueues:
-          # Ubuntu.1404.Arm32.Open hardware is not capable of dealing with all PRs
-          ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI')) }}:
-            asString: 'Ubuntu.1404.Arm32.Open'
-            asArray:
-            - Ubuntu.1404.Arm32.Open
-          ${{ if eq(variables['System.TeamProject'], 'internal') }}:
-            # We don't have any Linux/arm32 internal Helix queues
-            asString: ''
-            asArray: []
+        # The following is to balance the load on Linux/arm32 hardware between two different sets of machines (Ubuntu.1404.Arm32.Open and Ubuntu.1604.Arm32.Open).
+        # This should make situations when a queue is overflowed with work items coming from different sources (PRs, CI and scheduled builds) less frequent.
+        - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}:
+          - (Ubuntu.1804.Arm32.Open)Ubuntu.1604.Arm32.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm32v7-0a0ebdd-20190312215532
+        # Ubuntu.1404.Arm32.Open is used only by CI while Ubuntu.1604.Arm32.Open serves PRs and scheduled builds.
+        - ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI')) }}:
+          - Ubuntu.1404.Arm32.Open
+        - ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}:
+          - (Debian.9.Arm32.Open)Ubuntu.1604.Arm32.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-9-helix-arm32v7-0a0ebdd-20190312215452
+          - (Ubuntu.1604.Arm32.Open)Ubuntu.1604.Arm32.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-16.04-helix-arm32v7-0a0ebdd-20190312215551
+          - (Ubuntu.1804.Arm32.Open)Ubuntu.1604.Arm32.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm32v7-0a0ebdd-20190312215532
+        - ${{ if eq(variables['System.TeamProject'], 'internal') }}:
+          - (Debian.9.Arm32)Ubuntu.1604.Arm32@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-9-helix-arm32v7-0a0ebdd-20190312215452
+          - (Ubuntu.1604.Arm32)Ubuntu.1604.Arm32@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-16.04-helix-arm32v7-0a0ebdd-20190312215551
+          - (Ubuntu.1804.Arm32)Ubuntu.1604.Arm32@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm32v7-0a0ebdd-20190312215532
         crossrootfsDir: '/crossrootfs/arm'
         ${{ insert }}: ${{ parameters.jobParameters }}
 
@@ -55,22 +61,13 @@ jobs:
         osIdentifier: Linux
         containerName: ubuntu_1604_arm64_cross_build_image
         helixQueues:
-          ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}:
-            asString: '(Ubuntu.1804.Arm64.On.Docker.Open)Ubuntu.1604.Arm64.Docker.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-0a0ebdd-20190312220351'
-            asArray:
-            - (Ubuntu.1804.Arm64.On.Docker.Open)Ubuntu.1604.Arm64.Docker.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-0a0ebdd-20190312220351
-          ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}:
-            # TODO: add Ubuntu.1604.Arm64.Open once Jenkins has been shutdown
-            asString: '(Debian.9.Arm64.On.Docker.Open)Ubuntu.1604.Arm64.Docker.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-9-helix-arm64v8-0a0ebdd-20190312215438,(Ubuntu.1804.Arm64.On.Docker.Open)Ubuntu.1604.Arm64.Docker.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-0a0ebdd-20190312220351'
-            asArray:
-            - (Debian.9.Arm64.On.Docker.Open)Ubuntu.1604.Arm64.Docker.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-9-helix-arm64v8-0a0ebdd-20190312215438
-            - (Ubuntu.1804.Arm64.On.Docker.Open)Ubuntu.1604.Arm64.Docker.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-0a0ebdd-20190312220351
-          ${{ if eq(variables['System.TeamProject'], 'internal') }}:
-            asString: '(Debian.9.Arm64.On.Docker)Ubuntu.1604.Arm64.Docker@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-9-helix-arm64v8-0a0ebdd-20190312215438,Ubuntu.1604.Arm64,(Ubuntu.1804.Arm64.On.Docker)Ubuntu.1604.Arm64.Docker@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-0a0ebdd-20190312220351'
-            asArray:
-            - (Debian.9.Arm64.On.Docker)Ubuntu.1604.Arm64.Docker@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-9-helix-arm64v8-0a0ebdd-20190312215438
-            - Ubuntu.1604.Arm64
-            - (Ubuntu.1804.Arm64.On.Docker)Ubuntu.1604.Arm64.Docker@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-0a0ebdd-20190312220351
+        - ${{ if eq(variables['System.TeamProject'], 'public') }}:
+          - (Ubuntu.1804.Arm64.Open)Ubuntu.1604.Arm64.Docker.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-0a0ebdd-20190312220351
+        - ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}:
+          - (Debian.9.Arm64.Open)Ubuntu.1604.Arm64.Docker.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-9-helix-arm64v8-0a0ebdd-20190312215438
+        - ${{ if eq(variables['System.TeamProject'], 'internal') }}:
+          - (Debian.9.Arm64)Ubuntu.1604.Arm64.Docker@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-9-helix-arm64v8-0a0ebdd-20190312215438
+          - (Ubuntu.1804.Arm64)Ubuntu.1604.Arm64.Docker@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-0a0ebdd-20190312220351
         crossrootfsDir: '/crossrootfs/arm64'
         ${{ insert }}: ${{ parameters.jobParameters }}
 
@@ -85,15 +82,11 @@ jobs:
         osIdentifier: Linux_musl
         containerName: musl_x64_build_image
         helixQueues:
-          ${{ if eq(variables['System.TeamProject'], 'public') }}:
-            # TODO: there are no open Alpine queues https://github.com/dotnet/core-eng/issues/4958
-            asString: ''
-            asArray: []
-          ${{ if eq(variables['System.TeamProject'], 'internal') }}:
-            asString: 'Alpine.36.Amd64,Alpine.38.Amd64'
-            asArray:
-            - Alpine.36.Amd64
-            - Alpine.38.Amd64
+        - ${{ if eq(variables['System.TeamProject'], 'public') }}:
+          - (Alpine.38.Amd64.Open)Ubuntu.1604.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.8-helix-45b1fa2-20190327215821
+        - ${{ if eq(variables['System.TeamProject'], 'internal') }}:
+          - Alpine.36.Amd64
+          - Alpine.38.Amd64
         ${{ insert }}: ${{ parameters.jobParameters }}
 
   # Linux musl arm64
@@ -107,14 +100,9 @@ jobs:
         osIdentifier: Linux_musl
         containerName: musl_arm64_build_image
         helixQueues:
-          ${{ if eq(variables['System.TeamProject'], 'public') }}:
-            # TODO: there are no Alpine arm64 queues https://github.com/dotnet/core-eng/issues/5206
-            asString: ''
-            asArray: []
-          ${{ if eq(variables['System.TeamProject'], 'internal') }}:
-            # TODO: there are no Alpine arm64 queues https://github.com/dotnet/core-eng/issues/5206
-            asString: ''
-            asArray: []
+        # TODO: enable (Alpine.38.Arm64.Open) once https://github.com/dotnet/coreclr/issues/23621 is resolved
+        - ${{ if eq(variables['System.TeamProject'], 'internal') }}:
+          - (Alpine.38.Arm64)Ubuntu.1604.Arm64.Docker@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.8-helix-arm64v8-46e69dd-20190313223330
         crossrootfsDir: '/crossrootfs/arm64'
         ${{ insert }}: ${{ parameters.jobParameters }}
 
@@ -129,15 +117,9 @@ jobs:
         osIdentifier: Linux_rhel6
         containerName: centos6_x64_build_image
         helixQueues:
-          ${{ if eq(variables['System.TeamProject'], 'public') }}:
-            # TODO: enable RedHat.6.Amd64.Open
-            # when https://github.com/dotnet/core-eng/issues/4100 is resolved
-            asString: ''
-            asArray: []
-          ${{ if eq(variables['System.TeamProject'], 'internal') }}:
-            asString: 'RedHat.6.Amd64'
-            asArray:
-            - RedHat.6.Amd64
+        # TODO: enable RedHat.6.Amd64.Open once https://github.com/dotnet/coreclr/issues/23580 is resolved
+        - ${{ if eq(variables['System.TeamProject'], 'internal') }}:
+          - RedHat.6.Amd64
         ${{ insert }}: ${{ parameters.jobParameters }}
 
   # Linux x64
@@ -151,27 +133,21 @@ jobs:
         osIdentifier: Linux
         containerName: centos7_x64_build_image
         helixQueues:
-          ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}:
-            asString: 'Ubuntu.1804.Amd64.Open'
-            asArray:
-            - Ubuntu.1804.Amd64.Open
-          ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}:
-            asString: 'Debian.9.Amd64.Open,Ubuntu.1604.Amd64.Open,Ubuntu.1804.Amd64.Open,Centos.7.Amd64.Open,RedHat.7.Amd64.Open'
-            asArray:
-            - Debian.9.Amd64.Open
-            - Ubuntu.1604.Amd64.Open
-            - Ubuntu.1804.Amd64.Open
-            - Centos.7.Amd64.Open
-            - RedHat.7.Amd64.Open
-          ${{ if eq(variables['System.TeamProject'], 'internal') }}:
-            asString: 'Debian.9.Amd64,Ubuntu.1604.Amd64,Ubuntu.1804.Amd64,Centos.7.Amd64,Fedora.28.Amd64,RedHat.7.Amd64'
-            asArray:
-            - Debian.9.Amd64
-            - Ubuntu.1604.Amd64
-            - Ubuntu.1804.Amd64
-            - Centos.7.Amd64
-            - Fedora.28.Amd64
-            - RedHat.7.Amd64
+        - ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}:
+          - Ubuntu.1804.Amd64.Open
+        - ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}:
+          - Debian.9.Amd64.Open
+          - Ubuntu.1604.Amd64.Open
+          - Ubuntu.1804.Amd64.Open
+          - Centos.7.Amd64.Open
+          - RedHat.7.Amd64.Open
+        - ${{ if eq(variables['System.TeamProject'], 'internal') }}:
+          - Debian.9.Amd64
+          - Ubuntu.1604.Amd64
+          - Ubuntu.1804.Amd64
+          - Centos.7.Amd64
+          - Fedora.28.Amd64
+          - RedHat.7.Amd64
         ${{ insert }}: ${{ parameters.jobParameters }}
 
 # FreeBSD
@@ -201,22 +177,16 @@ jobs:
         osGroup: OSX
         osIdentifier: OSX
         helixQueues:
-          ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}:
-            asString: 'OSX.1013.Amd64.Open'
-            asArray:
-            - OSX.1013.Amd64.Open
-          ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}:
-            # TODO: add OSX.1012.Amd64.Open once Jenkins has been shutdown
-            asString: 'OSX.1013.Amd64.Open,OSX.1014.Amd64.Open'
-            asArray:
-            - OSX.1013.Amd64.Open
-            - OSX.1014.Amd64.Open
-          ${{ if eq(variables['System.TeamProject'], 'internal') }}:
-            asString: 'OSX.1012.Amd64,OSX.1013.Amd64,OSX.1014.Amd64'
-            asArray:
-            - OSX.1012.Amd64
-            - OSX.1013.Amd64
-            - OSX.1014.Amd64
+        - ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}:
+          - OSX.1013.Amd64.Open
+        - ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}:
+          # TODO: add OSX.1012.Amd64.Open once Jenkins has been shutdown
+          - OSX.1013.Amd64.Open
+          - OSX.1014.Amd64.Open
+        - ${{ if eq(variables['System.TeamProject'], 'internal') }}:
+          - OSX.1012.Amd64
+          - OSX.1013.Amd64
+          - OSX.1014.Amd64
         ${{ insert }}: ${{ parameters.jobParameters }}
 
   # Windows x64
@@ -229,25 +199,19 @@ jobs:
         osGroup: Windows_NT
         osIdentifier: Windows_NT
         helixQueues:
-          ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}:
-            asString: 'Windows.10.Amd64.Open'
-            asArray:
-            - Windows.10.Amd64.Open
-          ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}:
-            # TODO: add Windows.10.Nano.Amd64.Open once https://github.com/dotnet/coreclr/issues/21693 has been resolved
-            # TODO: add Windows.7.Amd64.Open once https://github.com/dotnet/coreclr/issues/21796 has been resolved
-            asString: 'Windows.10.Amd64.Open,Windows.81.Amd64.Open'
-            asArray:
-            - Windows.10.Amd64.Open
-            - Windows.81.Amd64.Open
-          ${{ if eq(variables['System.TeamProject'], 'internal') }}:
-            asString: 'Windows.10.Amd64,Windows.10.Nano.Amd64,Windows.10.Amd64.Core,Windows.7.Amd64,Windows.81.Amd64'
-            asArray:
-            - Windows.10.Amd64
-            - Windows.10.Nano.Amd64
-            - Windows.10.Amd64.Core
-            - Windows.7.Amd64
-            - Windows.81.Amd64
+        - ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}:
+          - Windows.10.Amd64.Open
+        - ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}:
+          # TODO: add Windows.10.Nano.Amd64.Open once https://github.com/dotnet/coreclr/issues/21693 has been resolved
+          - Windows.7.Amd64.Open
+          - Windows.81.Amd64.Open
+          - Windows.10.Amd64.Open
+        - ${{ if eq(variables['System.TeamProject'], 'internal') }}:
+          - Windows.7.Amd64
+          - Windows.81.Amd64
+          - Windows.10.Amd64
+          - Windows.10.Amd64.Core
+          - Windows.10.Nano.Amd64
         ${{ insert }}: ${{ parameters.jobParameters }}
 
   # Windows x86
@@ -260,23 +224,17 @@ jobs:
         osGroup: Windows_NT
         osIdentifier: Windows_NT
         helixQueues:
-          ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}:
-            asString: 'Windows.10.Amd64.Open'
-            asArray:
-            - Windows.10.Amd64.Open
-          ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}:
-            # TODO: add Windows.7.Amd64.Open once https://github.com/dotnet/coreclr/issues/21796 has been resolved
-            asString: 'Windows.10.Amd64.Open,Windows.81.Amd64.Open'
-            asArray:
-            - Windows.10.Amd64.Open
-            - Windows.81.Amd64.Open
-          ${{ if eq(variables['System.TeamProject'], 'internal') }}:
-            asString: 'Windows.10.Amd64,Windows.10.Amd64.Core,Windows.7.Amd64,Windows.81.Amd64'
-            asArray:
-            - Windows.10.Amd64
-            - Windows.10.Amd64.Core
-            - Windows.7.Amd64
-            - Windows.81.Amd64
+        - ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}:
+          - Windows.10.Amd64.Open
+        - ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI')) }}:
+          - Windows.7.Amd64.Open
+          - Windows.81.Amd64.Open
+          - Windows.10.Amd64.Open
+        - ${{ if eq(variables['System.TeamProject'], 'internal') }}:
+          - Windows.7.Amd64
+          - Windows.81.Amd64
+          - Windows.10.Amd64
+          - Windows.10.Amd64.Core
         ${{ insert }}: ${{ parameters.jobParameters }}
 
   # Windows arm
@@ -289,14 +247,9 @@ jobs:
         osGroup: Windows_NT
         osIdentifier: Windows_NT
         helixQueues:
-          ${{ if eq(variables['System.TeamProject'], 'public') }}:
-            # TODO: add Windows.10.Arm64.Open once Jenkins has been shutdown
-            asString: ''
-            asArray: []
-          ${{ if eq(variables['System.TeamProject'], 'internal') }}:
-            asString: 'Windows.10.Arm64'
-            asArray:
-            - Windows.10.Arm64
+        # TODO: add Windows.10.Arm64.Open once Jenkins has been shutdown
+        - ${{ if eq(variables['System.TeamProject'], 'internal') }}:
+          - Windows.10.Arm64
         ${{ insert }}: ${{ parameters.jobParameters }}
 
   # Windows arm64
@@ -309,12 +262,7 @@ jobs:
         osGroup: Windows_NT
         osIdentifier: Windows_NT
         helixQueues:
-          ${{ if eq(variables['System.TeamProject'], 'public') }}:
-            # TODO: add Windows.10.Arm64.Open once Jenkins has been shutdown
-            asString: ''
-            asArray: []
-          ${{ if eq(variables['System.TeamProject'], 'internal') }}:
-            asString: 'Windows.10.Arm64'
-            asArray:
-            - Windows.10.Arm64
+        # TODO: add Windows.10.Arm64.Open once Jenkins has been shutdown
+        - ${{ if eq(variables['System.TeamProject'], 'internal') }}:
+          - Windows.10.Arm64
         ${{ insert }}: ${{ parameters.jobParameters }}
index cba652d..4192be4 100644 (file)
@@ -31,10 +31,10 @@ steps:
       _HelixAccessToken: ${{ parameters.helixAccessToken }}
       _HelixBuild: ${{ parameters.helixBuild }}
       _HelixSource: ${{ parameters.helixSource }}
-      _HelixTargetQueues: ${{ parameters.helixQueues.asString }}
+      _HelixTargetQueues: ${{ join(',', parameters.helixQueues) }}
       _HelixType: ${{ parameters.helixType }}
       _RunCrossGen: ${{ parameters.runCrossGen }}
-      _Scenarios: ${{ parameters.scenarios.asString }}
+      _Scenarios: ${{ join(',', parameters.scenarios) }}
       _TimeoutPerTestCollectionInMinutes: ${{ parameters.timeoutPerTestCollectionInMinutes }}
       _TimeoutPerTestInMinutes: ${{ parameters.timeoutPerTestInMinutes }}
       ${{ if eq(parameters.publishTestResults, 'true') }}:
@@ -54,10 +54,10 @@ steps:
       _HelixAccessToken: ${{ parameters.helixAccessToken }}
       _HelixBuild: ${{ parameters.helixBuild }}
       _HelixSource: ${{ parameters.helixSource }}
-      _HelixTargetQueues: ${{ parameters.helixQueues.asString }}
+      _HelixTargetQueues: ${{ join(',', parameters.helixQueues) }}
       _HelixType: ${{ parameters.helixType }}
       _RunCrossGen: ${{ parameters.runCrossGen }}
-      _Scenarios: ${{ parameters.scenarios.asString }}
+      _Scenarios: ${{ join(',', parameters.scenarios) }}
       _TimeoutPerTestCollectionInMinutes: ${{ parameters.timeoutPerTestCollectionInMinutes }}
       _TimeoutPerTestInMinutes: ${{ parameters.timeoutPerTestInMinutes }}
       ${{ if eq(parameters.publishTestResults, 'true') }}:
index 7c70377..179d767 100644 (file)
@@ -155,7 +155,8 @@ jobs:
 
         helixQueues: ${{ parameters.helixQueues }}
 
-        ${{ if eq(parameters.helixQueues.asString, '') }}:
+        # This tests whether an array is empty
+        ${{ if eq(join('', parameters.helixQueues), '') }}:
           condition: false
 
         publishTestResults: true
@@ -185,49 +186,39 @@ jobs:
 
         ${{ if in(parameters.testGroup, 'innerloop', 'outerloop') }}:
           scenarios:
-            asString: 'normal,no_tiered_compilation'
-            asArray:
-            - normal
-            - no_tiered_compilation
+          - normal
+          - no_tiered_compilation
         ${{ if eq(parameters.testGroup, 'outerloop-jitminopts-jitstress1-jitstress2') }}:
           scenarios:
-            asString: 'jitminopts,jitstress1,jitstress1_tiered,jitstress2,jitstress2_tiered'
-            asArray:
-            - jitminopts
-            - jitstress1
-            - jitstress1_tiered
-            - jitstress2
-            - jitstress2_tiered
+          - jitminopts
+          - jitstress1
+          - jitstress1_tiered
+          - jitstress2
+          - jitstress2_tiered
         ${{ if eq(parameters.testGroup, 'outerloop-jitstressregs') }}:
           scenarios:
-            asString: 'jitstressregs1,jitstressregs2,jitstressregs3,jitstressregs4,jitstressregs8,jitstressregs0x10,jitstressregs0x80,jitstressregs0x1000'
-            asArray:
-            - jitstressregs1
-            - jitstressregs2
-            - jitstressregs3
-            - jitstressregs4
-            - jitstressregs8
-            - jitstressregs0x10
-            - jitstressregs0x80
-            - jitstressregs0x1000
+          - jitstressregs1
+          - jitstressregs2
+          - jitstressregs3
+          - jitstressregs4
+          - jitstressregs8
+          - jitstressregs0x10
+          - jitstressregs0x80
+          - jitstressregs0x1000
         ${{ if eq(parameters.testGroup, 'outerloop-jitstress2-jitstressregs') }}:
           scenarios:
-            asString: 'jitstress2_jitstressregs1,jitstress2_jitstressregs2,jitstress2_jitstressregs3,jitstress2_jitstressregs4,jitstress2_jitstressregs8,jitstress2_jitstressregs0x10,jitstress2_jitstressregs0x80,jitstress2_jitstressregs0x1000'
-            asArray:
-            - jitstress2_jitstressregs1
-            - jitstress2_jitstressregs2
-            - jitstress2_jitstressregs3
-            - jitstress2_jitstressregs4
-            - jitstress2_jitstressregs8
-            - jitstress2_jitstressregs0x10
-            - jitstress2_jitstressregs0x80
-            - jitstress2_jitstressregs0x1000
+          - jitstress2_jitstressregs1
+          - jitstress2_jitstressregs2
+          - jitstress2_jitstressregs3
+          - jitstress2_jitstressregs4
+          - jitstress2_jitstressregs8
+          - jitstress2_jitstressregs0x10
+          - jitstress2_jitstressregs0x80
+          - jitstress2_jitstressregs0x1000
         ${{ if eq(parameters.testGroup, 'outerloop-gcstress0x3-gcstress0xc') }}:
           scenarios:
-            asString: 'gcstress0x3,gcstress0xc'
-            asArray:
-            - gcstress0x3
-            - gcstress0xc
+          - gcstress0x3
+          - gcstress0xc
 
     # Publish Logs
     - task: PublishPipelineArtifact@0