diff options
author | Juan Sebastian Hoyos Ayala <juhoyosa@microsoft.com> | 2022-03-17 20:41:58 +0300 |
---|---|---|
committer | Sean Reeser <v-seanreeser@microsoft.com> | 2022-03-17 20:41:58 +0300 |
commit | 101667696659492d5cfbc662ffb05f54eb4dbc48 (patch) | |
tree | 0247f271e671fc781b042deed5e3d61744af894a | |
parent | 81d52e26be06062ec02e70a74782ab30e0994c55 (diff) | |
parent | 8664948dd9abcc70ee500e961969f1e26a6e910e (diff) |
Merged PR 21846: Remove checkout bundlev5.0.16
60 files changed, 309 insertions, 371 deletions
diff --git a/eng/pipelines/common/checkout-job.yml b/eng/pipelines/common/checkout-job.yml deleted file mode 100644 index cfdcc37a21f..00000000000 --- a/eng/pipelines/common/checkout-job.yml +++ /dev/null @@ -1,62 +0,0 @@ -### Check out job creating a git bundle and publishing it -### into an Azure artifact for reuse by the subsequent build and test execution phases. -### If paths is specified, we will create a job using evaluate-changed-paths.yml template -### for each path specified. - -parameters: - # Object containing subset include and exclude paths in an array form. - # Scenarios: - # 1. exclude paths are specified - # Will include all paths except the ones in the exclude list. - # 2. include paths are specified - # Will only include paths specified in the list. - # 3. exclude + include: - # 1st we evaluate changes for all paths except ones in excluded list. If we can't find - # any applicable changes like that, then we evaluate changes for incldued paths - # if any of these two finds changes, then a variable will be set to true. - # In order to consume this variable you need to reference it via: $[ dependencies.checkout.outputs['SetPathVars_<subset>.containschange'] ] - # - # Array form example - # paths: - # - subset: coreclr - # include: - # - src/libraries/System.Private.CoreLib/* - # exclude: - # - src/libraries/* - # - # This example will include ALL path changes except the ones under src/libraries/*!System.Private.CoreLib/* - paths: [] - -jobs: -- job: checkout - displayName: Checkout - - pool: - vmImage: 'macOS-latest' - - steps: - - checkout: self - clean: true - fetchDepth: 20 - - - script: git bundle create $(Build.StagingDirectory)/Checkout.bundle HEAD - displayName: Create Checkout.bundle - - - publish: $(Build.StagingDirectory)/Checkout.bundle - artifact: Checkout_bundle - displayName: Upload Checkout.bundle - - - ${{ if and(ne(parameters.paths[0], ''), eq(variables['Build.Reason'], 'PullRequest')) }}: - - ${{ each path in parameters.paths }}: - - template: evaluate-changed-paths.yml - parameters: - subsetName: ${{ path.subset }} - arguments: - # The commit that we're building is always a merge commit that is merging into the target branch. - # So the first parent of the commit is on the target branch and the second parent is on the source branch. - - --difftarget HEAD^1 - - --subset ${{ path.subset }} - - ${{ if ne(path.include[0], '') }}: - - --includepaths '${{ join('+', path.include) }}' - - ${{ if ne(path.exclude[0], '') }}: - - --excludepaths '${{ join('+', path.exclude) }}' diff --git a/eng/pipelines/common/clone-checkout-bundle-step.yml b/eng/pipelines/common/clone-checkout-bundle-step.yml deleted file mode 100644 index 41ac16e4835..00000000000 --- a/eng/pipelines/common/clone-checkout-bundle-step.yml +++ /dev/null @@ -1,12 +0,0 @@ -steps: -- checkout: none - -- download: current - artifact: Checkout_bundle - displayName: Download Checkout.bundle - -- script: | - $(setScriptToEchoAndFailOnNonZero) - git clone $(Pipeline.Workspace)/Checkout_bundle/Checkout.bundle . - git remote set-url origin $(Build.Repository.Uri) - displayName: Clone the repository from Checkout.bundle diff --git a/eng/pipelines/common/evaluate-default-paths.yml b/eng/pipelines/common/evaluate-default-paths.yml new file mode 100644 index 00000000000..bf29cd5636d --- /dev/null +++ b/eng/pipelines/common/evaluate-default-paths.yml @@ -0,0 +1,83 @@ +# Template to evaluate common paths in different pipelines. +parameters: + extraSubsets: '' + +jobs: +- template: /eng/pipelines/common/evaluate-paths-job.yml + parameters: + paths: + - subset: coreclr + include: + - src/libraries/System.Private.CoreLib/* + - src/libraries/Native/Unix/System.Globalization.Native/* + - src/libraries/Native/Unix/Common/* + exclude: + - eng/Version.Details.xml + - '*.md' + - LICENSE.TXT + - PATENTS.TXT + - THIRD-PARTY-NOTICES.TXT + - docs/* + - src/installer/* + - src/mono/* + - src/libraries/* + - eng/pipelines/installer/* + - eng/pipelines/mono/* + - eng/pipelines/libraries/* + - subset: mono + include: + - src/libraries/System.Private.CoreLib/* + - src/libraries/Native/Unix/System.Globalization.Native/* + - src/libraries/Native/Unix/Common/* + exclude: + - eng/Version.Details.xml + - '*.md' + - LICENSE.TXT + - PATENTS.TXT + - THIRD-PARTY-NOTICES.TXT + - docs/* + - src/installer/* + - src/coreclr/* + - src/libraries/* + - eng/pipelines/installer/* + - eng/pipelines/coreclr/* + - eng/pipelines/libraries/* + - subset: libraries + exclude: + - eng/Version.Details.xml + - '*.md' + - LICENSE.TXT + - PATENTS.TXT + - THIRD-PARTY-NOTICES.TXT + - docs/* + - src/installer/* + - src/mono/* + - src/coreclr/* + - eng/pipelines/coreclr/* + - eng/pipelines/mono/* + - eng/pipelines/installer/* + - subset: runtimetests + include: + - src/tests/* + - src/coreclr/tests/* + - src/coreclr/build-test.cmd + - src/coreclr/build-test.sh + - subset: installer + include: + - docs/manpages/* + exclude: + - eng/Version.Details.xml + - '*.md' + - LICENSE.TXT + - PATENTS.TXT + - THIRD-PARTY-NOTICES.TXT + - docs/* + - src/coreclr/* + - src/mono/* + - src/libraries/* + - eng/pipelines/coreclr/* + - eng/pipelines/mono/* + - eng/pipelines/libraries/* + + - ${{ if ne(parameters.extraSubsets, '') }}: + - ${{ parameters.extraSubsets }} diff --git a/eng/pipelines/common/evaluate-paths-job.yml b/eng/pipelines/common/evaluate-paths-job.yml new file mode 100644 index 00000000000..e639ae70cad --- /dev/null +++ b/eng/pipelines/common/evaluate-paths-job.yml @@ -0,0 +1,52 @@ +### Job used to evaluate changed paths on a pull request to emit variables to condition jobs based on paths. + +parameters: + # Object containing subset include and exclude paths in an array form. + # Scenarios: + # 1. exclude paths are specified + # Will include all paths except the ones in the exclude list. + # 2. include paths are specified + # Will only include paths specified in the list. + # 3. exclude + include: + # 1st we evaluate changes for all paths except ones in excluded list. If we can't find + # any applicable changes like that, then we evaluate changes for incldued paths + # if any of these two finds changes, then a variable will be set to true. + # In order to consume this variable you need to reference it via: $[ dependencies.evaluate_paths.outputs['SetPathVars_<subset>.containschange'] ] + # + # Array form example + # paths: + # - subset: coreclr + # include: + # - src/libraries/System.Private.CoreLib/* + # exclude: + # - src/libraries/* + # + # This example will include ALL path changes under src/libraries/ except the ones under src/libraries/*!System.Private.CoreLib/* + paths: [] + + +jobs: + - job: evaluate_paths + displayName: Evaluate Paths + pool: + vmImage: 'macOS-10.15' + + steps: + - checkout: self + clean: true + fetchDepth: $(checkoutFetchDepth) + + - ${{ if ne(parameters.paths[0], '') }}: + - ${{ each path in parameters.paths }}: + - template: evaluate-changed-paths.yml + parameters: + subsetName: ${{ path.subset }} + arguments: + # The commit that we're building is always a merge commit that is merging into the target branch. + # So the first parent of the commit is on the target branch and the second parent is on the source branch. + - --difftarget HEAD^1 + - --subset ${{ path.subset }} + - ${{ if ne(path.include[0], '') }}: + - --includepaths '${{ join('+', path.include) }}' + - ${{ if ne(path.exclude[0], '') }}: + - --excludepaths '${{ join('+', path.exclude) }}' diff --git a/eng/pipelines/common/global-build-job.yml b/eng/pipelines/common/global-build-job.yml index c3b1aa8d1a2..dbece437937 100644 --- a/eng/pipelines/common/global-build-job.yml +++ b/eng/pipelines/common/global-build-job.yml @@ -11,6 +11,7 @@ parameters: timeoutInMinutes: '' pool: '' condition: true + dependsOnEvaluatePaths: false isOfficialBuild: false runtimeFlavor: 'coreclr' helixQueues: '' @@ -22,7 +23,6 @@ jobs: parameters: name: ${{ format('build_{0}{1}_{2}_{3}_{4}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig, parameters.nameSuffix) }} displayName: ${{ format('Build {0}{1} {2} {3} {4}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig, parameters.nameSuffix) }} - dependsOn: checkout pool: ${{ parameters.pool }} container: ${{ parameters.container }} condition: and(succeeded(), ${{ parameters.condition }}) @@ -30,6 +30,9 @@ jobs: workspace: clean: all + ${{ if eq(parameters.dependOnEvaluatePaths, true) }}: + dependsOn: evaluate_paths + variables: - name: _osParameter value: -os ${{ parameters.osGroup }} @@ -61,7 +64,9 @@ jobs: - ${{ variable }} steps: - - template: /eng/pipelines/common/clone-checkout-bundle-step.yml + - checkout: self + clean: true + fetchDepth: $(checkoutFetchDepth) - ${{ if ne(variables['System.TeamProject'], 'public') }}: - ${{ if ne(parameters.osGroup, 'Windows_NT') }}: diff --git a/eng/pipelines/common/templates/runtimes/build-test-job.yml b/eng/pipelines/common/templates/runtimes/build-test-job.yml index bd4e2a7af88..3cfc03c0b5b 100644 --- a/eng/pipelines/common/templates/runtimes/build-test-job.yml +++ b/eng/pipelines/common/templates/runtimes/build-test-job.yml @@ -23,6 +23,7 @@ parameters: runtimeFlavorDisplayName: 'CoreCLR' runtimeVariant: '' dependsOn: [] + dependOnEvaluatePaths: false ### Build managed test components (native components are getting built as part ### of the the product build job). @@ -47,6 +48,7 @@ jobs: liveLibrariesBuildConfig: ${{ parameters.liveLibrariesBuildConfig }} variables: ${{ parameters.variables }} pool: ${{ parameters.pool }} + dependOnEvaluatePaths: ${{ parameters.dependOnEvaluatePaths }} # Test jobs should continue on error for internal builds ${{ if eq(variables['System.TeamProject'], 'internal') }}: diff --git a/eng/pipelines/common/templates/runtimes/run-test-job.yml b/eng/pipelines/common/templates/runtimes/run-test-job.yml index f5fdcfb895e..dbcd958b257 100644 --- a/eng/pipelines/common/templates/runtimes/run-test-job.yml +++ b/eng/pipelines/common/templates/runtimes/run-test-job.yml @@ -21,6 +21,7 @@ parameters: runtimeFlavor: 'coreclr' runtimeFlavorDisplayName: 'CoreCLR' dependsOn: [] + dependOnEvaluatePaths: false ### Test run job @@ -43,6 +44,7 @@ jobs: runtimeVariant: ${{ parameters.runtimeVariant }} pool: ${{ parameters.pool }} condition: ${{ parameters.condition }} + dependOnEvaluatePaths: ${{ parameters.dependOnEvaluatePaths }} # Test jobs should continue on error for internal builds ${{ if eq(variables['System.TeamProject'], 'internal') }}: diff --git a/eng/pipelines/common/variables.yml b/eng/pipelines/common/variables.yml index 71fc05740a4..23c748c9842 100644 --- a/eng/pipelines/common/variables.yml +++ b/eng/pipelines/common/variables.yml @@ -1,8 +1,13 @@ variables: - name: isOfficialBuild - value: ${{ and(ne(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }} + value: ${{ and(eq(variables['System.TeamProject'], 'internal'), eq(variables['Build.DefinitionName'], 'dotnet-runtime-official')) }} - name: isFullMatrix value: true + +# We only run evaluate paths on runtime and runtime-staging pipelines on PRs +- name: dependOnEvaluatePaths + value: ${{ and(eq(variables['Build.Reason'], 'PullRequest'), in(variables['Build.DefinitionName'], 'runtime', 'runtime-staging')) }} + - name: debugOnPrReleaseOnRolling ${{ if ne(variables['Build.Reason'], 'PullRequest') }}: value: Release diff --git a/eng/pipelines/common/xplat-setup.yml b/eng/pipelines/common/xplat-setup.yml index a6c6f9d3a6f..4500d8c08ac 100644 --- a/eng/pipelines/common/xplat-setup.yml +++ b/eng/pipelines/common/xplat-setup.yml @@ -16,10 +16,12 @@ jobs: runtimeFlavorDisplayName: 'CoreCLR' ${{ if eq(parameters.jobParameters.runtimeFlavor, 'mono') }}: runtimeFlavorDisplayName: 'Mono' + # keep in sync with /eng/pipelines/common/variables.yml + dependOnEvaluatePaths: ${{ and(eq(variables['Build.Reason'], 'PullRequest'), in(variables['Build.DefinitionName'], 'runtime', 'runtime-staging')) }} variables: # Disable component governance in our CI builds. These builds are not shipping nor # are they a service. Also the component governance jobs issue lots of inconsequential - # warnings and errors into our build timelines that make it hard to track down + # warnings and errors into our build timelines that make it hard to track down # real errors in the build - name: skipComponentGovernanceDetection value: true @@ -31,6 +33,9 @@ jobs: - name: System.DisableZipDownload value: true + - name: checkoutFetchDepth + value: 20 + - name: buildConfigUpper ${{ if eq(parameters.jobParameters.buildConfig, 'debug') }}: value: 'Debug' @@ -85,7 +90,7 @@ jobs: value: Mono ${{ if eq(parameters.jobParameters.runtimeFlavor, 'coreclr') }}: value: CoreCLR - + - ${{ each variable in parameters.variables }}: - ${{ variable }} diff --git a/eng/pipelines/coreclr/ci.yml b/eng/pipelines/coreclr/ci.yml index c58c4804174..e8a93fea09e 100644 --- a/eng/pipelines/coreclr/ci.yml +++ b/eng/pipelines/coreclr/ci.yml @@ -27,10 +27,7 @@ trigger: pr: none jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + # # Debug builds diff --git a/eng/pipelines/coreclr/clrinterpreter.yml b/eng/pipelines/coreclr/clrinterpreter.yml index 9506af30101..d2d4aa87dc7 100644 --- a/eng/pipelines/coreclr/clrinterpreter.yml +++ b/eng/pipelines/coreclr/clrinterpreter.yml @@ -11,10 +11,7 @@ schedules: always: true jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + - template: /eng/pipelines/common/platform-matrix.yml parameters: diff --git a/eng/pipelines/coreclr/crossgen2-composite.yml b/eng/pipelines/coreclr/crossgen2-composite.yml index 629e96606be..8d73e7141c4 100644 --- a/eng/pipelines/coreclr/crossgen2-composite.yml +++ b/eng/pipelines/coreclr/crossgen2-composite.yml @@ -11,10 +11,7 @@ schedules: always: true jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + - template: /eng/pipelines/common/platform-matrix.yml parameters: diff --git a/eng/pipelines/coreclr/crossgen2-gcstress.yml b/eng/pipelines/coreclr/crossgen2-gcstress.yml index 7942e747e26..16ccb53d4f6 100644 --- a/eng/pipelines/coreclr/crossgen2-gcstress.yml +++ b/eng/pipelines/coreclr/crossgen2-gcstress.yml @@ -11,10 +11,7 @@ schedules: always: true jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + - template: /eng/pipelines/common/platform-matrix.yml parameters: diff --git a/eng/pipelines/coreclr/crossgen2-outerloop.yml b/eng/pipelines/coreclr/crossgen2-outerloop.yml index 505e3ecc2d1..2c74e9e9412 100644 --- a/eng/pipelines/coreclr/crossgen2-outerloop.yml +++ b/eng/pipelines/coreclr/crossgen2-outerloop.yml @@ -11,10 +11,7 @@ schedules: always: true jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + - template: /eng/pipelines/common/platform-matrix.yml parameters: diff --git a/eng/pipelines/coreclr/crossgen2.yml b/eng/pipelines/coreclr/crossgen2.yml index 6ecdb931150..20482883fd7 100644 --- a/eng/pipelines/coreclr/crossgen2.yml +++ b/eng/pipelines/coreclr/crossgen2.yml @@ -11,10 +11,7 @@ schedules: always: true jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + - template: /eng/pipelines/common/platform-matrix.yml parameters: diff --git a/eng/pipelines/coreclr/gc-longrunning.yml b/eng/pipelines/coreclr/gc-longrunning.yml index c2dc2e07dfd..52c1c2d320d 100644 --- a/eng/pipelines/coreclr/gc-longrunning.yml +++ b/eng/pipelines/coreclr/gc-longrunning.yml @@ -11,10 +11,7 @@ schedules: always: true jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + - template: /eng/pipelines/common/platform-matrix.yml parameters: diff --git a/eng/pipelines/coreclr/gc-simulator.yml b/eng/pipelines/coreclr/gc-simulator.yml index bb8daf81727..5914255a68d 100644 --- a/eng/pipelines/coreclr/gc-simulator.yml +++ b/eng/pipelines/coreclr/gc-simulator.yml @@ -11,10 +11,7 @@ schedules: always: true jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + - template: /eng/pipelines/common/platform-matrix.yml parameters: diff --git a/eng/pipelines/coreclr/gcstress-extra.yml b/eng/pipelines/coreclr/gcstress-extra.yml index 8fbc2755adf..6f45866dcd7 100644 --- a/eng/pipelines/coreclr/gcstress-extra.yml +++ b/eng/pipelines/coreclr/gcstress-extra.yml @@ -11,10 +11,7 @@ schedules: always: true jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + - template: /eng/pipelines/common/platform-matrix.yml parameters: diff --git a/eng/pipelines/coreclr/gcstress0x3-gcstress0xc.yml b/eng/pipelines/coreclr/gcstress0x3-gcstress0xc.yml index 8c14eda405f..297dabda27a 100644 --- a/eng/pipelines/coreclr/gcstress0x3-gcstress0xc.yml +++ b/eng/pipelines/coreclr/gcstress0x3-gcstress0xc.yml @@ -11,10 +11,7 @@ schedules: always: true jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + - template: /eng/pipelines/common/platform-matrix.yml parameters: diff --git a/eng/pipelines/coreclr/ilasm.yml b/eng/pipelines/coreclr/ilasm.yml index ffdd75e3883..179931ae559 100644 --- a/eng/pipelines/coreclr/ilasm.yml +++ b/eng/pipelines/coreclr/ilasm.yml @@ -11,10 +11,7 @@ schedules: always: true jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + - template: /eng/pipelines/common/platform-matrix.yml parameters: diff --git a/eng/pipelines/coreclr/jit-experimental.yml b/eng/pipelines/coreclr/jit-experimental.yml index 1c74b665bb0..cc615b682b4 100644 --- a/eng/pipelines/coreclr/jit-experimental.yml +++ b/eng/pipelines/coreclr/jit-experimental.yml @@ -11,10 +11,7 @@ schedules: always: true jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + - template: /eng/pipelines/common/platform-matrix.yml parameters: diff --git a/eng/pipelines/coreclr/jitstress-isas-arm.yml b/eng/pipelines/coreclr/jitstress-isas-arm.yml index 6a9c1b00425..2d88401c3a6 100644 --- a/eng/pipelines/coreclr/jitstress-isas-arm.yml +++ b/eng/pipelines/coreclr/jitstress-isas-arm.yml @@ -11,10 +11,7 @@ schedules: always: true jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + - template: /eng/pipelines/common/platform-matrix.yml parameters: diff --git a/eng/pipelines/coreclr/jitstress-isas-x86.yml b/eng/pipelines/coreclr/jitstress-isas-x86.yml index 98beca7b6fa..9aff742c1f3 100644 --- a/eng/pipelines/coreclr/jitstress-isas-x86.yml +++ b/eng/pipelines/coreclr/jitstress-isas-x86.yml @@ -11,10 +11,7 @@ schedules: always: true jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + - template: /eng/pipelines/common/platform-matrix.yml parameters: diff --git a/eng/pipelines/coreclr/jitstress.yml b/eng/pipelines/coreclr/jitstress.yml index adb906ea7bf..20126b2e5c9 100644 --- a/eng/pipelines/coreclr/jitstress.yml +++ b/eng/pipelines/coreclr/jitstress.yml @@ -11,10 +11,7 @@ schedules: always: true jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + - template: /eng/pipelines/common/platform-matrix.yml parameters: diff --git a/eng/pipelines/coreclr/jitstress2-jitstressregs.yml b/eng/pipelines/coreclr/jitstress2-jitstressregs.yml index 743e071e08e..65d95303408 100644 --- a/eng/pipelines/coreclr/jitstress2-jitstressregs.yml +++ b/eng/pipelines/coreclr/jitstress2-jitstressregs.yml @@ -11,10 +11,7 @@ schedules: always: true jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + - template: /eng/pipelines/common/platform-matrix.yml parameters: diff --git a/eng/pipelines/coreclr/jitstressregs-x86.yml b/eng/pipelines/coreclr/jitstressregs-x86.yml index 9de11695b46..f821c65a9c9 100644 --- a/eng/pipelines/coreclr/jitstressregs-x86.yml +++ b/eng/pipelines/coreclr/jitstressregs-x86.yml @@ -11,10 +11,7 @@ schedules: always: true jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + - template: /eng/pipelines/common/platform-matrix.yml parameters: diff --git a/eng/pipelines/coreclr/jitstressregs.yml b/eng/pipelines/coreclr/jitstressregs.yml index 12c8fc51588..ab0a07d28af 100644 --- a/eng/pipelines/coreclr/jitstressregs.yml +++ b/eng/pipelines/coreclr/jitstressregs.yml @@ -11,10 +11,7 @@ schedules: always: true jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + - template: /eng/pipelines/common/platform-matrix.yml parameters: diff --git a/eng/pipelines/coreclr/libraries-gcstress-extra.yml b/eng/pipelines/coreclr/libraries-gcstress-extra.yml index 4063b0a8ffb..e751cad978e 100644 --- a/eng/pipelines/coreclr/libraries-gcstress-extra.yml +++ b/eng/pipelines/coreclr/libraries-gcstress-extra.yml @@ -12,10 +12,7 @@ pr: none # always: true jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + # # Build CoreCLR checked and libraries Release diff --git a/eng/pipelines/coreclr/libraries-gcstress0x3-gcstress0xc.yml b/eng/pipelines/coreclr/libraries-gcstress0x3-gcstress0xc.yml index d5df152153d..667481a83c3 100644 --- a/eng/pipelines/coreclr/libraries-gcstress0x3-gcstress0xc.yml +++ b/eng/pipelines/coreclr/libraries-gcstress0x3-gcstress0xc.yml @@ -12,10 +12,7 @@ pr: none # always: true jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + # # Build CoreCLR checked and libraries Release diff --git a/eng/pipelines/coreclr/libraries-jitstress.yml b/eng/pipelines/coreclr/libraries-jitstress.yml index 7128ab1414c..fbd20eb7124 100644 --- a/eng/pipelines/coreclr/libraries-jitstress.yml +++ b/eng/pipelines/coreclr/libraries-jitstress.yml @@ -11,10 +11,7 @@ schedules: always: true jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + # # Build CoreCLR checked and libraries Release diff --git a/eng/pipelines/coreclr/libraries-jitstress2-jitstressregs.yml b/eng/pipelines/coreclr/libraries-jitstress2-jitstressregs.yml index d1a2a0afd0e..d3888dd9ca0 100644 --- a/eng/pipelines/coreclr/libraries-jitstress2-jitstressregs.yml +++ b/eng/pipelines/coreclr/libraries-jitstress2-jitstressregs.yml @@ -11,10 +11,7 @@ schedules: always: true jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + # # Build CoreCLR checked and libraries Release diff --git a/eng/pipelines/coreclr/libraries-jitstressregs.yml b/eng/pipelines/coreclr/libraries-jitstressregs.yml index 691cb29b0d9..fdb7a091611 100644 --- a/eng/pipelines/coreclr/libraries-jitstressregs.yml +++ b/eng/pipelines/coreclr/libraries-jitstressregs.yml @@ -11,10 +11,7 @@ schedules: always: true jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + # # Build CoreCLR checked and libraries Release diff --git a/eng/pipelines/coreclr/perf.yml b/eng/pipelines/coreclr/perf.yml index c06b2742f54..633769c7e20 100644 --- a/eng/pipelines/coreclr/perf.yml +++ b/eng/pipelines/coreclr/perf.yml @@ -22,10 +22,7 @@ trigger: pr: none jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + # build coreclr and libraries - template: /eng/pipelines/common/platform-matrix.yml @@ -141,4 +138,3 @@ jobs: liveLibrariesBuildConfig: Release projectFile: crossgen_perf.proj runKind: crossgen_scenarios - diff --git a/eng/pipelines/coreclr/r2r-extra.yml b/eng/pipelines/coreclr/r2r-extra.yml index 97a80cdffbb..ae47b634a92 100644 --- a/eng/pipelines/coreclr/r2r-extra.yml +++ b/eng/pipelines/coreclr/r2r-extra.yml @@ -11,10 +11,7 @@ schedules: always: true jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + - template: /eng/pipelines/common/platform-matrix.yml parameters: diff --git a/eng/pipelines/coreclr/r2r.yml b/eng/pipelines/coreclr/r2r.yml index 55bbcd4bdfe..e24c55c4882 100644 --- a/eng/pipelines/coreclr/r2r.yml +++ b/eng/pipelines/coreclr/r2r.yml @@ -11,10 +11,7 @@ schedules: always: true jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + - template: /eng/pipelines/common/platform-matrix.yml parameters: diff --git a/eng/pipelines/coreclr/release-tests.yml b/eng/pipelines/coreclr/release-tests.yml index 77567d88f17..15a01ad69c6 100644 --- a/eng/pipelines/coreclr/release-tests.yml +++ b/eng/pipelines/coreclr/release-tests.yml @@ -11,10 +11,7 @@ schedules: always: true jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + # # Release CoreCLR and Library builds diff --git a/eng/pipelines/coreclr/runincontext.yml b/eng/pipelines/coreclr/runincontext.yml index 91fb9189a6d..7edd5262680 100644 --- a/eng/pipelines/coreclr/runincontext.yml +++ b/eng/pipelines/coreclr/runincontext.yml @@ -11,10 +11,7 @@ schedules: always: true jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + - template: /eng/pipelines/common/platform-matrix.yml parameters: diff --git a/eng/pipelines/coreclr/templates/build-job.yml b/eng/pipelines/coreclr/templates/build-job.yml index a58d4bab04a..7794625c2e4 100644 --- a/eng/pipelines/coreclr/templates/build-job.yml +++ b/eng/pipelines/coreclr/templates/build-job.yml @@ -7,6 +7,7 @@ parameters: condition: true container: '' crossrootfsDir: '' + dependOnEvaluatePaths: false isOfficialBuild: false osGroup: '' osSubgroup: '' @@ -34,6 +35,7 @@ jobs: stagedBuild: ${{ parameters.stagedBuild }} pool: ${{ parameters.pool }} condition: ${{ parameters.condition }} + dependOnEvaluatePaths: ${{ parameters.dependOnEvaluatePaths }} # Compute job name from template parameters ${{ if and(ne(parameters.testGroup, 'clrTools'), eq(parameters.compilerName, 'gcc')) }}: diff --git a/eng/pipelines/coreclr/templates/crossdac-pack.yml b/eng/pipelines/coreclr/templates/crossdac-pack.yml index f876a85d33f..4e1e87baec2 100644 --- a/eng/pipelines/coreclr/templates/crossdac-pack.yml +++ b/eng/pipelines/coreclr/templates/crossdac-pack.yml @@ -3,6 +3,7 @@ parameters: buildConfig: '' container: '' crossDacPlatforms: {} + dependOnEvaluatePaths: false isOfficialBuild: false osGroup: '' osSubgroup: '' @@ -28,6 +29,7 @@ jobs: runtimeVariant: ${{ parameters.runtimeVariant }} stagedBuild: ${{ parameters.stagedBuild }} timeoutInMinutes: ${{ parameters.timeoutInMinutes }} + dependOnEvaluatePaths: ${{ parameters.dependOnEvaluatePaths }} name: crossdacpack displayName: CrossDac Packaging diff --git a/eng/pipelines/coreclr/templates/crossgen-comparison-job.yml b/eng/pipelines/coreclr/templates/crossgen-comparison-job.yml index bc1c6b7d3d5..de8c626b460 100644 --- a/eng/pipelines/coreclr/templates/crossgen-comparison-job.yml +++ b/eng/pipelines/coreclr/templates/crossgen-comparison-job.yml @@ -7,6 +7,7 @@ parameters: helixQueues: '' runtimeVariant: '' crossrootfsDir: '' + dependOnEvaluatePaths: false stagedBuild: false variables: {} pool: '' @@ -35,6 +36,7 @@ jobs: liveLibrariesBuildConfig: ${{ parameters.liveLibrariesBuildConfig }} helixType: 'test/crossgen-comparison/' pool: ${{ parameters.pool }} + dependOnEvaluatePaths: ${{ parameters.dependOnEvaluatePaths }} # Compute job name from template parameters name: ${{ format('test_crossgen_comparison_{0}{1}_{1}_{2}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }} diff --git a/eng/pipelines/coreclr/templates/format-job.yml b/eng/pipelines/coreclr/templates/format-job.yml index c8871536bae..0c4195063e2 100644 --- a/eng/pipelines/coreclr/templates/format-job.yml +++ b/eng/pipelines/coreclr/templates/format-job.yml @@ -5,6 +5,7 @@ parameters: osSubgroup: '' container: '' crossrootfsDir: '' + dependOnEvaluatePaths: false timeoutInMinutes: '' stagedBuild: false variables: {} @@ -21,6 +22,7 @@ jobs: osSubgroup: ${{ parameters.osSubgroup }} container: ${{ parameters.container }} crossrootfsDir: ${{ parameters.crossrootfsDir }} + dependOnEvaluatePaths: ${{ parameters.dependOnEvaluatePaths }} stagedBuild: ${{ parameters.stagedBuild }} timeoutInMinutes: ${{ parameters.timeoutInMinutes }} name: ${{ format('format_{0}{1}_{2}', parameters.osGroup, parameters.osSubgroup, parameters.archType) }} diff --git a/eng/pipelines/coreclr/templates/helix-queues-setup.yml b/eng/pipelines/coreclr/templates/helix-queues-setup.yml index c360b7747e7..fd2ae07227c 100644 --- a/eng/pipelines/coreclr/templates/helix-queues-setup.yml +++ b/eng/pipelines/coreclr/templates/helix-queues-setup.yml @@ -8,6 +8,7 @@ parameters: pool: '' platform: '' runtimeFlavorDisplayName: '' + dependOnEvaluatePaths: false jobParameters: {} jobs: @@ -19,6 +20,7 @@ jobs: archType: ${{ parameters.archType }} container: ${{ parameters.container }} pool: ${{ parameters.pool }} + dependOnEvaluatePaths: ${{ parameters.dependOnEvaluatePaths }} runtimeFlavorDisplayName: ${{ parameters.runtimeFlavorDisplayName }} helixQueues: diff --git a/eng/pipelines/coreclr/templates/xplat-job.yml b/eng/pipelines/coreclr/templates/xplat-job.yml index b4fb71b4d86..8501a4b7172 100644 --- a/eng/pipelines/coreclr/templates/xplat-job.yml +++ b/eng/pipelines/coreclr/templates/xplat-job.yml @@ -15,6 +15,7 @@ parameters: condition: '' continueOnError: false dependsOn: '' + dependOnEvaluatePaths: false displayName: '' timeoutInMinutes: '' enableMicrobuild: '' @@ -31,8 +32,8 @@ jobs: container: ${{ parameters.container }} condition: ${{ parameters.condition }} dependsOn: - - ${{ if ne(parameters.stagedBuild, true) }}: - - checkout + - ${{ if eq(parameters.dependOnEvaluatePaths, true) }}: + - evaluate_paths - ${{ if ne(parameters.dependsOn, '') }}: - ${{ parameters.dependsOn }} @@ -105,7 +106,9 @@ jobs: - ${{insert}}: ${{ variable }} steps: - - template: /eng/pipelines/common/clone-checkout-bundle-step.yml + - checkout: self + clean: true + fetchDepth: $(checkoutFetchDepth) - ${{ if ne(variables['System.TeamProject'], 'public') }}: - ${{ if ne(parameters.osGroup, 'Windows_NT') }}: diff --git a/eng/pipelines/coreclr/templates/xplat-pipeline-job.yml b/eng/pipelines/coreclr/templates/xplat-pipeline-job.yml index 2e4e5122c94..e2013289b52 100644 --- a/eng/pipelines/coreclr/templates/xplat-pipeline-job.yml +++ b/eng/pipelines/coreclr/templates/xplat-pipeline-job.yml @@ -17,6 +17,7 @@ parameters: condition: true continueOnError: false dependsOn: '' + dependOnEvaluatePaths: false displayName: '' timeoutInMinutes: '' enableMicrobuild: '' @@ -43,6 +44,7 @@ jobs: condition: and(succeeded(), ${{ parameters.condition }}) continueOnError: ${{ parameters.continueOnError }} dependsOn: ${{ parameters.dependsOn }} + dependOnEvaluatePaths: ${{ parameters.dependOnEvaluatePaths }} displayName: ${{ parameters.displayName }} timeoutInMinutes: ${{ parameters.timeoutInMinutes }} enableMicrobuild: ${{ parameters.enableMicrobuild }} diff --git a/eng/pipelines/evaluate-changed-paths.sh b/eng/pipelines/evaluate-changed-paths.sh index bfc5c857b64..ee9ae31a336 100755 --- a/eng/pipelines/evaluate-changed-paths.sh +++ b/eng/pipelines/evaluate-changed-paths.sh @@ -30,7 +30,7 @@ set -e usage() { echo "Script that evaluates changed paths and emits an azure devops variable if the changes contained in the current HEAD against the difftarget meet the includepahts/excludepaths filters:" - echo " --difftarget <value> SHA or branch to diff against. (i.e: HEAD^1, origin/master, 0f4hd36, etc.)" + echo " --difftarget <value> SHA or branch to diff against. (i.e: HEAD^1, origin/main, 0f4hd36, etc.)" echo " --excludepaths <value> Escaped list of paths to exclude from diff separated by '+'. (i.e: 'src/libraries/*+'src/installer/*')" echo " --includepaths <value> Escaped list of paths to include on diff separated by '+'. (i.e: 'src/libraries/System.Private.CoreLib/*')" echo " --subset Subset name for which we're evaluating in order to include it in logs" @@ -61,7 +61,7 @@ azure_variable='' diff_target='' while [[ $# > 0 ]]; do - opt="$(echo "${1/#--/-}" | awk '{print tolower($0)}')" + opt="$(echo "${1/#--/-}" | tr "[:upper:]" "[:lower:]")" case "$opt" in -help|-h) usage @@ -73,12 +73,12 @@ while [[ $# > 0 ]]; do ;; -excludepaths) IFS='+' read -r -a tmp <<< $2 - exclude_paths+=($tmp) + exclude_paths+=(${tmp[@]}) shift ;; -includepaths) IFS='+' read -r -a tmp <<< $2 - include_paths+=($tmp) + include_paths+=(${tmp[@]}) shift ;; -subset) @@ -135,13 +135,13 @@ probePaths() { local exclude_path_string="" local include_path_string="" local found_applying_changes=false - + if [[ ${#exclude_paths[@]} -gt 0 ]]; then echo "" echo "******* Probing $_subset exclude paths *******"; for _path in "${exclude_paths[@]}"; do echo "$_path" - if [[ "$exclude_path_string" == "" ]]; then + if [[ -z "$exclude_path_string" ]]; then exclude_path_string=":!$_path" else exclude_path_string="$exclude_path_string :!$_path" @@ -159,7 +159,7 @@ probePaths() { echo "******* Probing $_subset include paths *******"; for _path in "${include_paths[@]}"; do echo "$_path" - if [[ "$include_path_string" == "" ]]; then + if [[ -z "$include_path_string" ]]; then include_path_string=":$_path" else include_path_string="$include_path_string :$_path" diff --git a/eng/pipelines/global-build.yml b/eng/pipelines/global-build.yml index 9721eb4b9f4..1a6a7270aa3 100644 --- a/eng/pipelines/global-build.yml +++ b/eng/pipelines/global-build.yml @@ -30,11 +30,6 @@ pr: jobs: # -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml - -# # Build with Release config and Debug runtimeConfiguration # - template: /eng/pipelines/common/platform-matrix.yml diff --git a/eng/pipelines/installer/jobs/base-job.yml b/eng/pipelines/installer/jobs/base-job.yml index e6fd2d70f95..0db906d0179 100644 --- a/eng/pipelines/installer/jobs/base-job.yml +++ b/eng/pipelines/installer/jobs/base-job.yml @@ -10,6 +10,7 @@ parameters: container: '' buildSteps: [] dependsOn: [] + dependOnEvaluatePaths: false variables: [] name: '' displayName: '' @@ -335,7 +336,8 @@ jobs: /p:BuildFullPlatformManifest=true dependsOn: - - checkout + - ${{ if eq(parameters.dependOnEvaluatePaths, true) }}: + - evaluate_paths - ${{ parameters.dependsOn }} - ${{ if ne(parameters.liveRuntimeBuildConfig, '') }}: - ${{ format('{0}_{1}_product_build_{2}{3}_{4}_{5}', @@ -393,7 +395,9 @@ jobs: continueOnError: false condition: and(succeeded(), in(variables['SignType'], 'real', 'test')) - - template: /eng/pipelines/common/clone-checkout-bundle-step.yml + - checkout: self + clean: true + fetchDepth: $(checkoutFetchDepth) # Download and extract artifacts for earlier subsets. - task: DownloadBuildArtifacts@0 diff --git a/eng/pipelines/libraries/base-job.yml b/eng/pipelines/libraries/base-job.yml index 4050681999a..73bdaa32e30 100644 --- a/eng/pipelines/libraries/base-job.yml +++ b/eng/pipelines/libraries/base-job.yml @@ -14,6 +14,7 @@ parameters: container: '' steps: [] dependsOn: [] + dependOnEvaluatePaths: false variables: {} name: '' displayName: '' @@ -118,7 +119,8 @@ jobs: - _BuildConfig: ${{ parameters.buildConfig }} dependsOn: - - checkout + - ${{ if eq(parameters.dependOnEvaluatePaths, true) }}: + - evaluate_paths - ${{ parameters.dependsOn }} workspace: clean: all @@ -127,7 +129,9 @@ jobs: timeoutInMinutes: ${{ parameters.timeoutInMinutes }} steps: - - template: /eng/pipelines/common/clone-checkout-bundle-step.yml + - checkout: self + clean: true + fetchDepth: $(checkoutFetchDepth) - ${{ if ne(variables['System.TeamProject'], 'public') }}: - ${{ if ne(parameters.osGroup, 'Windows_NT') }}: diff --git a/eng/pipelines/libraries/build-job.yml b/eng/pipelines/libraries/build-job.yml index a7a9b603e34..3e52142a752 100644 --- a/eng/pipelines/libraries/build-job.yml +++ b/eng/pipelines/libraries/build-job.yml @@ -22,6 +22,7 @@ parameters: preBuildSteps: [] container: '' condition: true + dependOnEvaluatePaths: false variables: {} pool: '' runTests: false @@ -46,6 +47,7 @@ jobs: preBuildSteps: ${{ parameters.preBuildSteps }} container: ${{ parameters.container }} condition: ${{ parameters.condition }} + dependOnEvaluatePaths: ${{ parameters.dependOnEvaluatePaths }} pool: ${{ parameters.pool }} runtimeVariant: ${{ parameters.runtimeVariant }} testScope: ${{ parameters.testScope }} diff --git a/eng/pipelines/libraries/helix-queues-setup.yml b/eng/pipelines/libraries/helix-queues-setup.yml index 8e630023943..08d0b0ac9f7 100644 --- a/eng/pipelines/libraries/helix-queues-setup.yml +++ b/eng/pipelines/libraries/helix-queues-setup.yml @@ -19,6 +19,7 @@ jobs: archType: ${{ parameters.archType }} container: ${{ parameters.container }} pool: ${{ parameters.pool }} + dependOnEvaluatePaths: ${{ parameters.dependOnEvaluatePaths}} runtimeFlavorDisplayName: ${{ parameters.runtimeFlavorDisplayName }} helixQueues: diff --git a/eng/pipelines/libraries/outerloop.yml b/eng/pipelines/libraries/outerloop.yml index d88481ea37d..62847fd8d16 100644 --- a/eng/pipelines/libraries/outerloop.yml +++ b/eng/pipelines/libraries/outerloop.yml @@ -12,8 +12,6 @@ variables: - template: variables.yml jobs: - - template: /eng/pipelines/common/checkout-job.yml - # # CoreCLR Build # diff --git a/eng/pipelines/libraries/run-test-job.yml b/eng/pipelines/libraries/run-test-job.yml index 58bcd933f3d..aaf2f667450 100644 --- a/eng/pipelines/libraries/run-test-job.yml +++ b/eng/pipelines/libraries/run-test-job.yml @@ -16,6 +16,7 @@ parameters: helixQueues: [] dependsOnTestBuildConfiguration: Debug dependsOnTestArchitecture: x64 + dependOnEvaluatePaths: false condition: true variables: {} # coreclrTestGroup: if empty, then a normal, default test run is created. If set, it indicates a set of @@ -51,6 +52,7 @@ jobs: ${{ if eq(parameters.interpreter, 'true') }}: testDisplayName: ${{ parameters.runtimeFlavor }}_interpreter_${{ parameters.liveRuntimeBuildConfig }} + dependOnEvaluatePaths: ${{ parameters.dependOnEvaluatePaths }} dependsOn: - ${{ if ne(parameters.dependsOn[0], '') }}: - ${{ parameters.dependsOn }} diff --git a/eng/pipelines/mono/templates/build-job.yml b/eng/pipelines/mono/templates/build-job.yml index 36cc1c6b363..6e6694fd23b 100644 --- a/eng/pipelines/mono/templates/build-job.yml +++ b/eng/pipelines/mono/templates/build-job.yml @@ -12,6 +12,7 @@ parameters: runtimeVariant: '' isOfficialBuild: false crossrootfsDir: '' + dependOnEvaluatePaths: false ### Product build jobs: @@ -27,6 +28,7 @@ jobs: runtimeVariant: ${{ parameters.runtimeVariant }} crossrootfsDir: ${{ parameters.crossroofsDir }} condition: ${{ parameters.condition }} + dependOnEvaluatePaths: ${{ parameters.dependOnEvaluatePaths }} # Compute job name from template parameters name: ${{ format('mono_{0}_product_build_{1}{2}_{3}_{4}', parameters.runtimeVariant, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }} diff --git a/eng/pipelines/mono/templates/xplat-job.yml b/eng/pipelines/mono/templates/xplat-job.yml index b0364b227a0..f9094cd03fa 100644 --- a/eng/pipelines/mono/templates/xplat-job.yml +++ b/eng/pipelines/mono/templates/xplat-job.yml @@ -30,7 +30,8 @@ jobs: container: ${{ parameters.container }} condition: ${{ parameters.condition }} dependsOn: - - checkout + - ${{ if eq(parameters.dependOnEvaluatePaths, true) }}: + - evaluate_paths - ${{ if ne(parameters.dependsOn, '') }}: - ${{ parameters.dependsOn }} @@ -96,7 +97,9 @@ jobs: - ${{insert}}: ${{ variable }} steps: - - template: /eng/pipelines/common/clone-checkout-bundle-step.yml + - checkout: self + clean: true + fetchDepth: $(checkoutFetchDepth) - ${{ if ne(variables['System.TeamProject'], 'public') }}: - ${{ if ne(parameters.osGroup, 'Windows_NT') }}: diff --git a/eng/pipelines/mono/templates/xplat-pipeline-job.yml b/eng/pipelines/mono/templates/xplat-pipeline-job.yml index 89917a58e0b..31b61c20f93 100644 --- a/eng/pipelines/mono/templates/xplat-pipeline-job.yml +++ b/eng/pipelines/mono/templates/xplat-pipeline-job.yml @@ -16,6 +16,7 @@ parameters: condition: true continueOnError: false dependsOn: '' + dependOnEvaluatePaths: false displayName: '' timeoutInMinutes: '' enableMicrobuild: '' @@ -41,6 +42,7 @@ jobs: condition: and(succeeded(), ${{ parameters.condition }}) continueOnError: ${{ parameters.continueOnError }} dependsOn: ${{ parameters.dependsOn }} + dependOnEvaluatePaths: ${{ parameters.dependOnEvaluatePaths }} displayName: ${{ parameters.displayName }} timeoutInMinutes: ${{ parameters.timeoutInMinutes }} enableMicrobuild: ${{ parameters.enableMicrobuild }} diff --git a/eng/pipelines/official/jobs/prepare-signed-artifacts.yml b/eng/pipelines/official/jobs/prepare-signed-artifacts.yml index 0e05beed101..37b313d7673 100644 --- a/eng/pipelines/official/jobs/prepare-signed-artifacts.yml +++ b/eng/pipelines/official/jobs/prepare-signed-artifacts.yml @@ -24,7 +24,9 @@ jobs: - group: AzureDevOps-Artifact-Feeds-Pats steps: - - template: /eng/pipelines/common/clone-checkout-bundle-step.yml + - checkout: self + clean: true + fetchDepth: 20 - ${{ if ne(variables['System.TeamProject'], 'public') }}: - task: PowerShell@2 diff --git a/eng/pipelines/runtime-linker-tests.yml b/eng/pipelines/runtime-linker-tests.yml index bb51f3c0c73..ad589661271 100644 --- a/eng/pipelines/runtime-linker-tests.yml +++ b/eng/pipelines/runtime-linker-tests.yml @@ -46,10 +46,7 @@ pr: - THIRD-PARTY-NOTICES.TXT jobs: -# -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml + # # Build Release config vertical for Windows, Linux, Linux musl and OSX diff --git a/eng/pipelines/runtime-official.yml b/eng/pipelines/runtime-official.yml index dc068e8b37c..8a30f415379 100644 --- a/eng/pipelines/runtime-official.yml +++ b/eng/pipelines/runtime-official.yml @@ -37,11 +37,6 @@ stages: - stage: Build jobs: # - # Checkout repository - # - - template: /eng/pipelines/common/checkout-job.yml - - # # Build CoreCLR # - template: /eng/pipelines/common/platform-matrix.yml diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 3fac198b603..76983ab309e 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -54,81 +54,7 @@ jobs: # # Checkout repository # -- template: /eng/pipelines/common/checkout-job.yml - parameters: - paths: - - subset: coreclr - include: - - src/libraries/System.Private.CoreLib/* - - src/libraries/Native/Unix/System.Globalization.Native/* - - src/libraries/Native/Unix/Common/* - exclude: - - eng/Version.Details.xml - - '*.md' - - LICENSE.TXT - - PATENTS.TXT - - THIRD-PARTY-NOTICES.TXT - - docs/* - - src/installer/* - - src/mono/* - - src/libraries/* - - eng/pipelines/installer/* - - eng/pipelines/mono/* - - eng/pipelines/libraries/* - - subset: mono - include: - - src/libraries/System.Private.CoreLib/* - - src/libraries/Native/Unix/System.Globalization.Native/* - - src/libraries/Native/Unix/Common/* - exclude: - - eng/Version.Details.xml - - '*.md' - - LICENSE.TXT - - PATENTS.TXT - - THIRD-PARTY-NOTICES.TXT - - docs/* - - src/installer/* - - src/coreclr/* - - src/libraries/* - - eng/pipelines/installer/* - - eng/pipelines/coreclr/* - - eng/pipelines/libraries/* - - subset: libraries - exclude: - - eng/Version.Details.xml - - '*.md' - - LICENSE.TXT - - PATENTS.TXT - - THIRD-PARTY-NOTICES.TXT - - docs/* - - src/installer/* - - src/mono/* - - src/coreclr/* - - eng/pipelines/coreclr/* - - eng/pipelines/mono/* - - eng/pipelines/installer/* - - subset: runtimetests - include: - - src/tests/* - - src/coreclr/tests/* - - src/coreclr/build-test.cmd - - src/coreclr/build-test.sh - - subset: installer - include: - - docs/manpages/* - exclude: - - eng/Version.Details.xml - - '*.md' - - LICENSE.TXT - - PATENTS.TXT - - THIRD-PARTY-NOTICES.TXT - - docs/* - - src/coreclr/* - - src/mono/* - - src/libraries/* - - eng/pipelines/coreclr/* - - eng/pipelines/mono/* - - eng/pipelines/libraries/* +- template: /eng/pipelines/common/evaluate-default-paths.yml # # Build CoreCLR checked @@ -153,8 +79,8 @@ jobs: testGroup: innerloop condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_coreclr.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), eq(variables['isFullMatrix'], true)) # @@ -172,7 +98,7 @@ jobs: compilerName: gcc condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_coreclr.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), eq(variables['isFullMatrix'], true)) # @@ -189,9 +115,9 @@ jobs: testGroup: innerloop condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_coreclr.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), eq(variables['isFullMatrix'], true)) # @@ -237,7 +163,7 @@ jobs: eq(variables['Build.SourceBranchName'], 'master'), eq(variables['System.PullRequest.TargetBranch'], 'master')), or( - eq(dependencies.checkout.outputs['SetPathVars_coreclr.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), eq(variables['isFullMatrix'], true))) # Build and test clr tools @@ -251,7 +177,7 @@ jobs: testGroup: clrTools condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_coreclr.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), eq(variables['isFullMatrix'], true)) # Build the whole product using Mono runtime @@ -277,9 +203,9 @@ jobs: buildArgs: -s mono+libs+installer -c $(_BuildConfig) condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_installer.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), eq(variables['isFullMatrix'], true)) - template: /eng/pipelines/common/platform-matrix.yml @@ -302,9 +228,9 @@ jobs: buildArgs: -s mono+libs+installer -c $(_BuildConfig) condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_installer.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), eq(variables['isFullMatrix'], true)) # @@ -321,9 +247,9 @@ jobs: variables: # map dependencies variables to local variables - name: librariesContainsChange - value: $[ dependencies.checkout.outputs['SetPathVars_libraries.containsChange'] ] + value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] - name: monoContainsChange - value: $[ dependencies.checkout.outputs['SetPathVars_mono.containsChange'] ] + value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] jobParameters: testGroup: innerloop nameSuffix: AllSubsets_Mono @@ -331,9 +257,9 @@ jobs: timeoutInMinutes: 120 condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_installer.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), eq(variables['isFullMatrix'], true)) # extra steps, run tests extraStepsTemplate: /eng/pipelines/libraries/helix.yml @@ -363,9 +289,9 @@ jobs: /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_installer.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), eq(variables['isFullMatrix'], true)) - template: /eng/pipelines/common/platform-matrix.yml @@ -383,9 +309,9 @@ jobs: /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_installer.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), eq(variables['isFullMatrix'], true)) # @@ -406,9 +332,9 @@ jobs: /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_installer.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), eq(variables['isFullMatrix'], true)) - template: /eng/pipelines/common/platform-matrix.yml @@ -425,9 +351,9 @@ jobs: /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_installer.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), eq(variables['isFullMatrix'], true)) # @@ -451,8 +377,8 @@ jobs: jobParameters: condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), eq(variables['isFullMatrix'], true)) # @@ -474,8 +400,8 @@ jobs: jobParameters: condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), eq(variables['isFullMatrix'], true)) # @@ -493,9 +419,9 @@ jobs: jobParameters: condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_runtimetests.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), eq(variables['isFullMatrix'], true)) # @@ -513,8 +439,8 @@ jobs: runtimeVariant: llvmaot condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_runtimetests.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), eq(variables['isFullMatrix'], true)) # @@ -570,7 +496,7 @@ jobs: liveRuntimeBuildConfig: release condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), eq(variables['isFullMatrix'], true)) - template: /eng/pipelines/common/platform-matrix.yml @@ -589,7 +515,7 @@ jobs: testScope: innerloop condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), eq(variables['isFullMatrix'], true)) - template: /eng/pipelines/common/platform-matrix.yml @@ -605,7 +531,7 @@ jobs: runTests: true condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), eq(variables['isFullMatrix'], true)) # @@ -657,7 +583,7 @@ jobs: liveLibrariesBuildConfig: Release condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_coreclr.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), eq(variables['isFullMatrix'], true)) # @@ -675,8 +601,8 @@ jobs: liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }} condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_coreclr.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), eq(variables['isFullMatrix'], true)) # @@ -698,8 +624,8 @@ jobs: liveLibrariesBuildConfig: Release condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_coreclr.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), eq(variables['isFullMatrix'], true)) - template: /eng/pipelines/common/platform-matrix.yml @@ -718,8 +644,8 @@ jobs: liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }} condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_coreclr.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), eq(variables['isFullMatrix'], true)) # @@ -738,8 +664,8 @@ jobs: liveRuntimeBuildConfig: release condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), eq(variables['isFullMatrix'], true)) # @@ -761,8 +687,8 @@ jobs: liveRuntimeBuildConfig: release condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), eq(variables['isFullMatrix'], true)) # # Mono CoreCLR runtime Test executions using live libraries and LLVM AOT @@ -784,8 +710,8 @@ jobs: runtimeVariant: llvmaot condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), eq(variables['isFullMatrix'], true)) # @@ -813,8 +739,8 @@ jobs: dependsOnTestArchitecture: x64 condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), eq(variables['isFullMatrix'], true)) # @@ -842,8 +768,8 @@ jobs: dependsOnTestArchitecture: x64 condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), eq(variables['isFullMatrix'], true)) # @@ -868,7 +794,7 @@ jobs: dependsOnTestArchitecture: x64 condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), eq(variables['isFullMatrix'], true)) # @@ -898,7 +824,7 @@ jobs: dependsOnTestArchitecture: x64 condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), eq(variables['isFullMatrix'], true)) # @@ -923,7 +849,7 @@ jobs: dependsOnTestArchitecture: x64 condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_coreclr.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), eq(variables['isFullMatrix'], true)) - template: /eng/pipelines/common/platform-matrix.yml @@ -943,7 +869,7 @@ jobs: dependsOnTestArchitecture: x64 condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_coreclr.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), eq(variables['isFullMatrix'], true)) # @@ -965,6 +891,6 @@ jobs: dependsOnTestArchitecture: x64 condition: >- or( - eq(dependencies.checkout.outputs['SetPathVars_coreclr.containsChange'], true), - eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), eq(variables['isFullMatrix'], true)) diff --git a/eng/pipelines/runtimelab.yml b/eng/pipelines/runtimelab.yml index 6f00e775b94..6d9c80f7476 100644 --- a/eng/pipelines/runtimelab.yml +++ b/eng/pipelines/runtimelab.yml @@ -48,11 +48,6 @@ variables: jobs: # -# Checkout repository -# -- template: /eng/pipelines/common/checkout-job.yml - -# # Build with Debug config and Checked runtimeConfiguration # - template: /eng/pipelines/common/platform-matrix.yml |