[Tizen] Add CoreCLR tests BuildTools v3.1.3 for armel,arm64
[platform/upstream/coreclr.git] / azure-pipelines.yml
index 312d3f6..ed4bae1 100644 (file)
@@ -1,36 +1,23 @@
+trigger:
+  batch: true
+  branches:
+    include:
+    - master
+    - release/3.0
+    - internal/release/3.*
+
+pr:
+- master
+- release/3.0
+- internal/release/3.*
 
 # Temporarily set a build number format that includes a large revision
 # number that won't conflict with buildpipeline official builds.
 name: $(Date:yyyyMMdd)$(Rev:.7r)
 
 variables:
-  DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
-
-resources:
-  containers:
-  - container: ubuntu_1404_arm_cross_build_image
-    image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-14.04-cross-e435274-20180426002420
-
-  - container: ubuntu_1604_arm64_cross_build_image
-    image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-16.04-cross-arm64-a3ae44b-20180315221921
-
-  - container: musl_x64_build_image
-    image: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.6-WithNode-f4d3fe3-20181220200247
-
-  - container: musl_arm64_build_image
-    image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-16.04-cross-arm64-alpine10fcdcf-20190208200917
-
-  - container: centos7_x64_build_image
-    image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-d485f41-20173404063424
-
-  - container: centos6_x64_build_image
-    image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-6-376e1a3-20174311014331
-
-trigger:
-- master
-
-pr:
-- master
+- name: DOTNET_SKIP_FIRST_TIME_EXPERIENCE
+  value: true
 
 jobs:
 
@@ -50,6 +37,7 @@ jobs:
 ##           \---------> Pri1 -----------------> plain runtests
 ##           |                \----------------> jitstress
 ##           |                \----------------> gcstress
+##           |                \----------------> runincontext
 ##           |                \----------------> maybe more (dynamically selected runtest modes)
 ##           |
 ##           \---------> Pri1 crossgen --------> plain runtests
@@ -87,32 +75,24 @@ jobs:
 ## azure-pipelines.yml -> platform-matrix.yml -------> build-job.yml -------> xplat-job.yml -> base.yml
 ##                                            |  (passed-in jobTemplate)  |                    (arcade)
 ##                                            \------> test-job.yml ------/
+##                                            \------> format-job.yml ----/
 
 # TODO: simplify logic surrounding official build/ci. See
 # https://github.com/Microsoft/azure-pipelines-yaml/pull/46 for more information
 
 #
-# Debug builds - PullRequest & coreclr-ci / innerloop
+# Debug builds
 #
-- ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest'), eq(variables['Build.DefinitionName'], 'coreclr-ci')) }}:
+- ${{ if eq(variables['System.TeamProject'], 'public') }}:
   - template: eng/platform-matrix.yml
     parameters:
       jobTemplate: build-job.yml
       buildConfig: debug
-      ${{ if eq(variables['Build.DefinitionName'], 'coreclr-ci') }}:
+      ${{ if and(eq(variables['Build.Reason'], 'PullRequest'), eq(variables['Build.DefinitionName'], 'coreclr-ci')) }}:
         platforms:
         - Windows_NT_x64
         - Windows_NT_x86
-
-#
-# Debug builds - PullRequest & coreclr-outerloop
-#
-- ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest'), eq(variables['Build.DefinitionName'], 'coreclr-ci')) }}:
-  - template: eng/platform-matrix.yml
-    parameters:
-      jobTemplate: build-job.yml
-      buildConfig: debug
-      ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop') }}:
+      ${{ if and(in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI'), eq(variables['Build.DefinitionName'], 'coreclr-ci')) }}:
         platforms:
         - Linux_arm
         - Linux_arm64
@@ -125,18 +105,17 @@ jobs:
         - Windows_NT_arm64
 
 #
-# Checked builds - coreclr-ci / innerloop
+# Checked builds
 #
 - ${{ if eq(variables['System.TeamProject'], 'public') }}:
   - template: eng/platform-matrix.yml
     parameters:
       jobTemplate: build-job.yml
       buildConfig: checked
-      ${{ if eq(variables['Build.DefinitionName'], 'coreclr-ci') }}:
+      ${{ if and(eq(variables['Build.Reason'], 'PullRequest'), eq(variables['Build.DefinitionName'], 'coreclr-ci')) }}:
         platforms:
         - Linux_arm
         - Linux_arm64
-        - Linux_musl_arm64
         - Linux_musl_x64
         - Linux_x64
         - OSX_x64
@@ -144,44 +123,20 @@ jobs:
         - Windows_NT_arm64
         - Windows_NT_x64
         - Windows_NT_x86
-
-#
-# Checked builds - coreclr-outerloop
-#
-- ${{ if eq(variables['System.TeamProject'], 'public') }}:
-  - template: eng/platform-matrix.yml
-    parameters:
-      jobTemplate: build-job.yml
-      buildConfig: checked
+      ${{ if and(in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI'), eq(variables['Build.DefinitionName'], 'coreclr-ci')) }}:
+        platformGroup: all
       ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop') }}:
-        platforms:
-        - Linux_rhel6_x64
+        platformGroup: all
 
 #
-# Checked builds - gcstress
+# Release builds
 #
 - ${{ if eq(variables['System.TeamProject'], 'public') }}:
   - template: eng/platform-matrix.yml
     parameters:
       jobTemplate: build-job.yml
-      buildConfig: checked
-      ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-gcstress0x3-gcstress0xc') }}:
-        platforms:
-        - Linux_arm
-        - Linux_arm64
-        - Linux_x64
-        - Windows_NT_x64
-        - Windows_NT_x86
-
-#
-# Release builds - PullRequest & coreclr-ci / innerloop
-#
-- ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest'), eq(variables['Build.DefinitionName'], 'coreclr-ci')) }}:
-  - template: eng/platform-matrix.yml
-    parameters:
-      jobTemplate: build-job.yml
       buildConfig: release
-      ${{ if eq(variables['Build.DefinitionName'], 'coreclr-ci') }}:
+      ${{ if and(eq(variables['Build.Reason'], 'PullRequest'), eq(variables['Build.DefinitionName'], 'coreclr-ci')) }}:
         platforms:
         - Linux_arm64
         - Linux_musl_x64
@@ -189,16 +144,7 @@ jobs:
         - Windows_NT_arm
         - Windows_NT_arm64
         - Windows_NT_x64
-
-#
-# Release builds - PullRequest & coreclr-outerloop
-#
-- ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest'), eq(variables['Build.DefinitionName'], 'coreclr-ci')) }}:
-  - template: eng/platform-matrix.yml
-    parameters:
-      jobTemplate: build-job.yml
-      buildConfig: release
-      ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop') }}:
+      ${{ if and(in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI'), eq(variables['Build.DefinitionName'], 'coreclr-ci')) }}:
         platforms:
         - Linux_arm
         - Linux_musl_arm64
@@ -206,14 +152,12 @@ jobs:
         - OSX_x64
         - Windows_NT_x86
 
-#
-# Release builds (Official build) - non-PullRequest
-#
 - ${{ if and(eq(variables['System.TeamProject'], 'internal'), ne(variables['Build.Reason'], 'PullRequest')) }}:
   - template: eng/platform-matrix.yml
     parameters:
       jobTemplate: build-job.yml
       buildConfig: release
+      platformGroup: all
       jobParameters:
         # Publishing packages to blob feeds sometimes takes a long time
         # due to waiting for an exclusive lock on the feed.
@@ -221,41 +165,84 @@ jobs:
         timeoutInMinutes: 120
 
 #
-# Checked test builds - PullRequest
-# The test jobs that can be triggered by a PR, manually from ADO and that are scheduled
+# Checked test builds
 #
+# The test jobs that can be triggered by a PR, manually from ADO and that are scheduled
 - ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest', 'Manual', 'Schedule')) }}:
   - template: eng/platform-matrix.yml
     parameters:
       jobTemplate: test-job.yml
       buildConfig: checked
-      ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-gcstress0x3-gcstress0xc') }}:
+      ${{ if and(eq(variables['Build.Reason'], 'PullRequest'), eq(variables['Build.DefinitionName'], 'coreclr-ci')) }}:
         platforms:
         - Linux_arm
         - Linux_arm64
+        - Linux_musl_x64
         - Linux_x64
+        - OSX_x64
+        - Windows_NT_arm
+        - Windows_NT_arm64
         - Windows_NT_x64
         - Windows_NT_x86
+        helixQueueGroup: pr
+      ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop') }}:
+        platformGroup: all
+        helixQueueGroup: all
       jobParameters:
         ${{ if eq(variables['Build.DefinitionName'], 'coreclr-ci') }}:
           testGroup: innerloop
         ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop') }}:
           testGroup: outerloop
-        ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-jitminopts-jitstress1-jitstress2') }}:
-          testGroup: outerloop-jitminopts-jitstress1-jitstress2
-        ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-jitstressregs') }}:
-          testGroup: outerloop-jitstressregs
-        ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-jitstress2-jitstressregs') }}:
-          testGroup: outerloop-jitstress2-jitstressregs
-        ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-gcstress0x3-gcstress0xc') }}:
-          testGroup: outerloop-gcstress0x3-gcstress0xc
+        
+# ReadyToRun test jobs that are triggered by default from a PR.
+
+- ${{ if eq(variables['System.TeamProject'], 'public') }}:
+  - template: eng/platform-matrix.yml
+    parameters:
+      jobTemplate: test-job.yml
+      buildConfig: checked
+      ${{ if and(eq(variables['Build.Reason'], 'PullRequest'), eq(variables['Build.DefinitionName'], 'coreclr-ci')) }}:
+        platforms:
+        - Linux_x64
+        - OSX_x64
+        - Windows_NT_x64
+        - Windows_NT_x86
+        helixQueueGroup: pr
+      jobParameters:
+        ${{ if eq(variables['Build.DefinitionName'], 'coreclr-ci') }}:
+          testGroup: innerloop
+        readyToRun: true
+        displayNameArgs: R2R
+
+#
+# CoreFX test runs against CoreCLR
+#
 
-# CI
-- ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI')) }}:
+- ${{ if eq(variables['System.TeamProject'], 'public') }}:
   - template: eng/platform-matrix.yml
     parameters:
       jobTemplate: test-job.yml
       buildConfig: checked
+      ${{ if and(eq(variables['Build.Reason'], 'PullRequest'), eq(variables['Build.DefinitionName'], 'coreclr-ci')) }}:
+        platforms:
+        - Linux_x64
+        - Windows_NT_x64
+      helixQueueGroup: corefx
+      jobParameters:
+        ${{ if eq(variables['Build.DefinitionName'], 'coreclr-ci') }}:
+          testGroup: innerloop
+        corefxTests: true
+        displayNameArgs: CoreFX
+
+# CI (merge) jobs
+
+- ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI'), eq(variables['Build.DefinitionName'], 'coreclr-ci')) }}:
+  - template: eng/platform-matrix.yml
+    parameters:
+      jobTemplate: test-job.yml
+      buildConfig: checked
+      platformGroup: all
+      helixQueueGroup: ci
       jobParameters:
         testGroup: outerloop
 
@@ -263,9 +250,22 @@ jobs:
     parameters:
       jobTemplate: test-job.yml
       buildConfig: checked
+      platforms:
+      - Linux_arm64
+      - Linux_musl_x64
+      - Linux_musl_arm64
+      - Linux_rhel6_x64
+      - Linux_x64
+      - OSX_x64
+      - Windows_NT_x64
+      - Windows_NT_x86
+      - Windows_NT_arm
+      - Windows_NT_arm64
+      helixQueueGroup: ci
       jobParameters:
-        readyToRun: true
         testGroup: outerloop
+        readyToRun: true
+        displayNameArgs: R2R
 
 #
 # Release test builds
@@ -279,6 +279,7 @@ jobs:
       buildConfig: release
       platforms:
       - Linux_musl_x64
+      helixQueueGroup: pr
       jobParameters:
         testGroup: innerloop
 
@@ -288,6 +289,8 @@ jobs:
     parameters:
       jobTemplate: test-job.yml
       buildConfig: release
+      platformGroup: all
+      helixQueueGroup: all
       jobParameters:
         testGroup: outerloop
 
@@ -295,10 +298,21 @@ jobs:
     parameters:
       jobTemplate: test-job.yml
       buildConfig: release
+      platformGroup: all
+      helixQueueGroup: all
       jobParameters:
         testGroup: outerloop
         readyToRun: true
+        displayNameArgs: R2R
 
+# Format
+- ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest', 'IndividualCI', 'BatchedCI'), eq(variables['Build.DefinitionName'], 'coreclr-ci')) }}:
+  - template: eng/platform-matrix.yml
+    parameters:
+      jobTemplate: format-job.yml
+      platforms:
+      - Linux_x64
+      - Windows_NT_x64
 
 # Publish build information to Build Assets Registry