From 85235f81b5bfc6635c0a2abcfc27cb7c587c784b Mon Sep 17 00:00:00 2001 From: Egor Chesakov Date: Tue, 25 Jun 2019 12:59:49 -0700 Subject: [PATCH] Add pr.yml ci.yml internal.yml pipelines to /eng/pipelines (#25385) --- azure-pipelines.yml | 97 ++------------------------------- eng/pipelines/ci.yml | 92 ++++++++++++++++++++++++++++++++ eng/pipelines/internal.yml | 84 +++++++++++++++++++++++++++++ eng/pipelines/pr.yml | 130 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 309 insertions(+), 94 deletions(-) create mode 100644 eng/pipelines/ci.yml create mode 100644 eng/pipelines/internal.yml create mode 100644 eng/pipelines/pr.yml diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 4a934a6..e6243b6 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -114,41 +114,12 @@ jobs: - Windows_NT_x86 ${{ if and(in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI'), eq(variables['Build.DefinitionName'], 'coreclr-ci')) }}: platformGroup: all - ${{ if in(variables['Build.DefinitionName'], 'coreclr-outerloop', 'coreclr-outerloop-jitstress', 'coreclr-outerloop-jitstressregs', 'coreclr-outerloop-jitstress2-jitstressregs') }}: + ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop') }}: platformGroup: all - ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-jitstress-isas-arm') }}: - platforms: - - Linux_arm64 - - Windows_NT_arm64 - ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-jitstress-isas-x86') }}: - platforms: - - Linux_x64 - - OSX_x64 - - Windows_NT_x64 - - Windows_NT_x86 - ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-jitstressregs-x86') }}: - platforms: - - Linux_x64 - - Windows_NT_x64 - - Windows_NT_x86 - ${{ if in(variables['Build.DefinitionName'], 'coreclr-outerloop-gcstress0x3-gcstress0xc', 'coreclr-outerloop-gcstress-extra', 'coreclr-outerloop-r2r-extra') }}: - platformGroup: gcstress - ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-r2r') }}: - platforms: - - Linux_arm - - Linux_arm64 - - Linux_x64 - - Windows_NT_x64 - - Windows_NT_x86 ${{ if in(variables['Build.DefinitionName'], 'coreclr-corefx', 'coreclr-corefx-jitstress', 'coreclr-corefx-jitstressregs', 'coreclr-corefx-jitstress2-jitstressregs') }}: platforms: - Linux_x64 - Windows_NT_x64 - ${{ if eq(variables['Build.DefinitionName'], 'coreclr-runincontext') }}: - platforms: - - Linux_x64 - - Windows_NT_x64 - - Windows_NT_x86 # # Release builds @@ -207,62 +178,15 @@ jobs: - Windows_NT_x64 - Windows_NT_x86 helixQueueGroup: pr - ${{ if in(variables['Build.DefinitionName'], 'coreclr-outerloop', 'coreclr-outerloop-jitstress', 'coreclr-outerloop-jitstressregs', 'coreclr-outerloop-jitstress2-jitstressregs') }}: + ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop') }}: platformGroup: all helixQueueGroup: all - ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-jitstress-isas-arm') }}: - platforms: - - Linux_arm64 - - Windows_NT_arm64 - helixQueueGroup: all - ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-jitstress-isas-x86') }}: - platforms: - - Linux_x64 - - OSX_x64 - - Windows_NT_x64 - - Windows_NT_x86 - helixQueueGroup: all - ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-jitstressregs-x86') }}: - platforms: - - Linux_x64 - - Windows_NT_x64 - - Windows_NT_x86 - helixQueueGroup: all - ${{ if in(variables['Build.DefinitionName'], 'coreclr-outerloop-gcstress0x3-gcstress0xc', 'coreclr-outerloop-gcstress-extra') }}: - platformGroup: gcstress - helixQueueGroup: all - ${{ if eq(variables['Build.DefinitionName'], 'coreclr-runincontext') }}: - platforms: - - Linux_x64 - - Windows_NT_x64 - - Windows_NT_x86 - 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-jitstress') }}: - testGroup: jitstress - ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-jitstress-isas-arm') }}: - testGroup: jitstress-isas-arm - ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-jitstress-isas-x86') }}: - testGroup: jitstress-isas-x86 - ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-jitstressregs-x86') }}: - testGroup: jitstressregs-x86 - ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-jitstressregs') }}: - testGroup: jitstressregs - ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-jitstress2-jitstressregs') }}: - testGroup: jitstress2-jitstressregs - ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-gcstress0x3-gcstress0xc') }}: - testGroup: gcstress0x3-gcstress0xc - ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-gcstress-extra') }}: - testGroup: gcstress-extra - ${{ if eq(variables['Build.DefinitionName'], 'coreclr-runincontext') }}: - testGroup: outerloop - runInUnloadableContext: true - displayNameArgs: RunInContext - + # ReadyToRun test jobs that are triggered by default from a PR. - ${{ if eq(variables['System.TeamProject'], 'public') }}: @@ -277,24 +201,9 @@ jobs: - Windows_NT_x64 - Windows_NT_x86 helixQueueGroup: pr - ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-r2r') }}: - platforms: - - Linux_arm - - Linux_arm64 - - Linux_x64 - - Windows_NT_x64 - - Windows_NT_x86 - helixQueueGroup: all - ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-r2r-extra') }}: - platformGroup: gcstress # r2r-extra testGroup runs gcstress15 scenario - helixQueueGroup: all jobParameters: ${{ if eq(variables['Build.DefinitionName'], 'coreclr-ci') }}: testGroup: innerloop - ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-r2r') }}: - testGroup: outerloop - ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-r2r-extra') }}: - testGroup: r2r-extra readyToRun: true displayNameArgs: R2R diff --git a/eng/pipelines/ci.yml b/eng/pipelines/ci.yml new file mode 100644 index 0000000..354a129 --- /dev/null +++ b/eng/pipelines/ci.yml @@ -0,0 +1,92 @@ +trigger: +- master + +pr: none + +jobs: +# +# Debug builds +# +- template: /eng/platform-matrix.yml + parameters: + jobTemplate: build-job.yml + buildConfig: debug + platforms: + - Linux_arm + - Linux_arm64 + - Linux_musl_arm64 + - Linux_musl_x64 + - Linux_rhel6_x64 + - Linux_x64 + - OSX_x64 + - Windows_NT_arm + - Windows_NT_arm64 + +# +# Checked builds +# +- template: /eng/platform-matrix.yml + parameters: + jobTemplate: build-job.yml + buildConfig: checked + platformGroup: all + +# +# Release builds +# +- template: /eng/platform-matrix.yml + parameters: + jobTemplate: build-job.yml + buildConfig: release + platforms: + - Linux_arm + - Linux_musl_arm64 + - Linux_x64 + - OSX_x64 + - Windows_NT_x86 + +# +# Checked test builds +# +- template: /eng/platform-matrix.yml + parameters: + jobTemplate: test-job.yml + buildConfig: checked + platformGroup: all + helixQueueGroup: ci + jobParameters: + testGroup: outerloop + +# +# ReadyToRun test jobs +# +- template: /eng/platform-matrix.yml + 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: + testGroup: outerloop + readyToRun: true + displayNameArgs: R2R + +# +# Formatting +# +- template: /eng/platform-matrix.yml + parameters: + jobTemplate: format-job.yml + platforms: + - Linux_x64 + - Windows_NT_x64 diff --git a/eng/pipelines/internal.yml b/eng/pipelines/internal.yml new file mode 100644 index 0000000..38bf9f1 --- /dev/null +++ b/eng/pipelines/internal.yml @@ -0,0 +1,84 @@ +trigger: + batch: true + branches: + include: + - release/3.0 + +pr: none + +schedules: +- cron: "0 13 * * *" + displayName: Mon through Sun at 5:00 AM (UTC-8:00) + branches: + include: + - master + always: true +- cron: "0 1 * * *" + displayName: Mon through Sun at 5:00 PM (UTC-8:00) + branches: + include: + - master + always: true + +jobs: +# +# Release builds +# +- 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. + # See https://github.com/dotnet/arcade/blob/master/Documentation/CorePackages/AsyncPublishing.md + timeoutInMinutes: 120 + +# +# Release test builds +# +- template: /eng/platform-matrix.yml + parameters: + jobTemplate: test-job.yml + buildConfig: release + platformGroup: all + helixQueueGroup: all + jobParameters: + testGroup: outerloop + +# +# ReadyToRun test jobs +# +- template: /eng/platform-matrix.yml + parameters: + jobTemplate: test-job.yml + buildConfig: release + platformGroup: all + helixQueueGroup: all + jobParameters: + testGroup: outerloop + readyToRun: true + displayNameArgs: R2R + +# Publish build information to Build Assets Registry + +# This job gathers build assets from the pipeline (from each official +# product build job), and publishes them to the build assets +# registry. Its dependencies should be updated to include all of the +# official builds if we add more platform/arch combinations. + +- template: /eng/finalize-publish.yml + parameters: + dependsOn: + - build_Linux_arm_release + - build_Linux_arm64_release + - build_Linux_musl_x64_release + - build_Linux_musl_arm64_release + - build_Linux_rhel6_x64_release + - build_Linux_x64_release + - build_OSX_x64_release + - build_Windows_NT_x64_release + - build_Windows_NT_x86_release + - build_Windows_NT_arm_release + - build_Windows_NT_arm64_release diff --git a/eng/pipelines/pr.yml b/eng/pipelines/pr.yml new file mode 100644 index 0000000..a84033b --- /dev/null +++ b/eng/pipelines/pr.yml @@ -0,0 +1,130 @@ +trigger: none + +pr: +- master +- release/2.1 +- release/2.2 +- release/3.0 + +jobs: +# +# Debug builds +# +- template: /eng/platform-matrix.yml + parameters: + jobTemplate: build-job.yml + buildConfig: debug + platforms: + - Windows_NT_x64 + - Windows_NT_x86 + +# +# Checked builds +# +- template: /eng/platform-matrix.yml + parameters: + jobTemplate: build-job.yml + buildConfig: checked + platforms: + - Linux_arm + - Linux_arm64 + - Linux_musl_x64 + - Linux_x64 + - OSX_x64 + - Windows_NT_arm + - Windows_NT_arm64 + - Windows_NT_x64 + - Windows_NT_x86 + +# +# Release builds +# +- template: /eng/platform-matrix.yml + parameters: + jobTemplate: build-job.yml + buildConfig: release + platforms: + - Linux_arm64 + - Linux_musl_x64 + - Linux_rhel6_x64 + - Windows_NT_arm + - Windows_NT_arm64 + - Windows_NT_x64 + +# +# Checked test builds +# +- template: /eng/platform-matrix.yml + parameters: + jobTemplate: test-job.yml + buildConfig: checked + 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 + jobParameters: + testGroup: innerloop + +# +# ReadyToRun test jobs +# +- template: /eng/platform-matrix.yml + parameters: + jobTemplate: test-job.yml + buildConfig: checked + platforms: + - Linux_x64 + - OSX_x64 + - Windows_NT_x64 + - Windows_NT_x86 + helixQueueGroup: pr + jobParameters: + testGroup: innerloop + readyToRun: true + displayNameArgs: R2R + +# +# CoreFX test runs against CoreCLR +# +- template: /eng/platform-matrix.yml + parameters: + jobTemplate: test-job.yml + buildConfig: checked + platforms: + - Linux_x64 + - Windows_NT_x64 + helixQueueGroup: pr + jobParameters: + testGroup: innerloop + corefxTests: true + displayNameArgs: CoreFX + +# +# Release test builds +# +- template: /eng/platform-matrix.yml + parameters: + jobTemplate: test-job.yml + buildConfig: release + platforms: + - Linux_musl_x64 + helixQueueGroup: pr + jobParameters: + testGroup: innerloop + +# +# Formatting +# +- template: /eng/platform-matrix.yml + parameters: + jobTemplate: format-job.yml + platforms: + - Linux_x64 + - Windows_NT_x64 -- 2.7.4