Skip to content

Commit 1016676

Browse files
hoyosjsvseanreesermsft
authored andcommitted
Merged PR 21846: Remove checkout bundle
2 parents 81d52e2 + 8664948 commit 1016676

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+309
-371
lines changed

eng/pipelines/common/checkout-job.yml

Lines changed: 0 additions & 62 deletions
This file was deleted.

eng/pipelines/common/clone-checkout-bundle-step.yml

Lines changed: 0 additions & 12 deletions
This file was deleted.
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# Template to evaluate common paths in different pipelines.
2+
parameters:
3+
extraSubsets: ''
4+
5+
jobs:
6+
- template: /eng/pipelines/common/evaluate-paths-job.yml
7+
parameters:
8+
paths:
9+
- subset: coreclr
10+
include:
11+
- src/libraries/System.Private.CoreLib/*
12+
- src/libraries/Native/Unix/System.Globalization.Native/*
13+
- src/libraries/Native/Unix/Common/*
14+
exclude:
15+
- eng/Version.Details.xml
16+
- '*.md'
17+
- LICENSE.TXT
18+
- PATENTS.TXT
19+
- THIRD-PARTY-NOTICES.TXT
20+
- docs/*
21+
- src/installer/*
22+
- src/mono/*
23+
- src/libraries/*
24+
- eng/pipelines/installer/*
25+
- eng/pipelines/mono/*
26+
- eng/pipelines/libraries/*
27+
- subset: mono
28+
include:
29+
- src/libraries/System.Private.CoreLib/*
30+
- src/libraries/Native/Unix/System.Globalization.Native/*
31+
- src/libraries/Native/Unix/Common/*
32+
exclude:
33+
- eng/Version.Details.xml
34+
- '*.md'
35+
- LICENSE.TXT
36+
- PATENTS.TXT
37+
- THIRD-PARTY-NOTICES.TXT
38+
- docs/*
39+
- src/installer/*
40+
- src/coreclr/*
41+
- src/libraries/*
42+
- eng/pipelines/installer/*
43+
- eng/pipelines/coreclr/*
44+
- eng/pipelines/libraries/*
45+
- subset: libraries
46+
exclude:
47+
- eng/Version.Details.xml
48+
- '*.md'
49+
- LICENSE.TXT
50+
- PATENTS.TXT
51+
- THIRD-PARTY-NOTICES.TXT
52+
- docs/*
53+
- src/installer/*
54+
- src/mono/*
55+
- src/coreclr/*
56+
- eng/pipelines/coreclr/*
57+
- eng/pipelines/mono/*
58+
- eng/pipelines/installer/*
59+
- subset: runtimetests
60+
include:
61+
- src/tests/*
62+
- src/coreclr/tests/*
63+
- src/coreclr/build-test.cmd
64+
- src/coreclr/build-test.sh
65+
- subset: installer
66+
include:
67+
- docs/manpages/*
68+
exclude:
69+
- eng/Version.Details.xml
70+
- '*.md'
71+
- LICENSE.TXT
72+
- PATENTS.TXT
73+
- THIRD-PARTY-NOTICES.TXT
74+
- docs/*
75+
- src/coreclr/*
76+
- src/mono/*
77+
- src/libraries/*
78+
- eng/pipelines/coreclr/*
79+
- eng/pipelines/mono/*
80+
- eng/pipelines/libraries/*
81+
82+
- ${{ if ne(parameters.extraSubsets, '') }}:
83+
- ${{ parameters.extraSubsets }}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
### Job used to evaluate changed paths on a pull request to emit variables to condition jobs based on paths.
2+
3+
parameters:
4+
# Object containing subset include and exclude paths in an array form.
5+
# Scenarios:
6+
# 1. exclude paths are specified
7+
# Will include all paths except the ones in the exclude list.
8+
# 2. include paths are specified
9+
# Will only include paths specified in the list.
10+
# 3. exclude + include:
11+
# 1st we evaluate changes for all paths except ones in excluded list. If we can't find
12+
# any applicable changes like that, then we evaluate changes for incldued paths
13+
# if any of these two finds changes, then a variable will be set to true.
14+
# In order to consume this variable you need to reference it via: $[ dependencies.evaluate_paths.outputs['SetPathVars_<subset>.containschange'] ]
15+
#
16+
# Array form example
17+
# paths:
18+
# - subset: coreclr
19+
# include:
20+
# - src/libraries/System.Private.CoreLib/*
21+
# exclude:
22+
# - src/libraries/*
23+
#
24+
# This example will include ALL path changes under src/libraries/ except the ones under src/libraries/*!System.Private.CoreLib/*
25+
paths: []
26+
27+
28+
jobs:
29+
- job: evaluate_paths
30+
displayName: Evaluate Paths
31+
pool:
32+
vmImage: 'macOS-10.15'
33+
34+
steps:
35+
- checkout: self
36+
clean: true
37+
fetchDepth: $(checkoutFetchDepth)
38+
39+
- ${{ if ne(parameters.paths[0], '') }}:
40+
- ${{ each path in parameters.paths }}:
41+
- template: evaluate-changed-paths.yml
42+
parameters:
43+
subsetName: ${{ path.subset }}
44+
arguments:
45+
# The commit that we're building is always a merge commit that is merging into the target branch.
46+
# So the first parent of the commit is on the target branch and the second parent is on the source branch.
47+
- --difftarget HEAD^1
48+
- --subset ${{ path.subset }}
49+
- ${{ if ne(path.include[0], '') }}:
50+
- --includepaths '${{ join('+', path.include) }}'
51+
- ${{ if ne(path.exclude[0], '') }}:
52+
- --excludepaths '${{ join('+', path.exclude) }}'

eng/pipelines/common/global-build-job.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ parameters:
1111
timeoutInMinutes: ''
1212
pool: ''
1313
condition: true
14+
dependsOnEvaluatePaths: false
1415
isOfficialBuild: false
1516
runtimeFlavor: 'coreclr'
1617
helixQueues: ''
@@ -22,14 +23,16 @@ jobs:
2223
parameters:
2324
name: ${{ format('build_{0}{1}_{2}_{3}_{4}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig, parameters.nameSuffix) }}
2425
displayName: ${{ format('Build {0}{1} {2} {3} {4}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig, parameters.nameSuffix) }}
25-
dependsOn: checkout
2626
pool: ${{ parameters.pool }}
2727
container: ${{ parameters.container }}
2828
condition: and(succeeded(), ${{ parameters.condition }})
2929
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
3030
workspace:
3131
clean: all
3232

33+
${{ if eq(parameters.dependOnEvaluatePaths, true) }}:
34+
dependsOn: evaluate_paths
35+
3336
variables:
3437
- name: _osParameter
3538
value: -os ${{ parameters.osGroup }}
@@ -61,7 +64,9 @@ jobs:
6164
- ${{ variable }}
6265

6366
steps:
64-
- template: /eng/pipelines/common/clone-checkout-bundle-step.yml
67+
- checkout: self
68+
clean: true
69+
fetchDepth: $(checkoutFetchDepth)
6570

6671
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
6772
- ${{ if ne(parameters.osGroup, 'Windows_NT') }}:

eng/pipelines/common/templates/runtimes/build-test-job.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ parameters:
2323
runtimeFlavorDisplayName: 'CoreCLR'
2424
runtimeVariant: ''
2525
dependsOn: []
26+
dependOnEvaluatePaths: false
2627

2728
### Build managed test components (native components are getting built as part
2829
### of the the product build job).
@@ -47,6 +48,7 @@ jobs:
4748
liveLibrariesBuildConfig: ${{ parameters.liveLibrariesBuildConfig }}
4849
variables: ${{ parameters.variables }}
4950
pool: ${{ parameters.pool }}
51+
dependOnEvaluatePaths: ${{ parameters.dependOnEvaluatePaths }}
5052

5153
# Test jobs should continue on error for internal builds
5254
${{ if eq(variables['System.TeamProject'], 'internal') }}:

eng/pipelines/common/templates/runtimes/run-test-job.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ parameters:
2121
runtimeFlavor: 'coreclr'
2222
runtimeFlavorDisplayName: 'CoreCLR'
2323
dependsOn: []
24+
dependOnEvaluatePaths: false
2425

2526
### Test run job
2627

@@ -43,6 +44,7 @@ jobs:
4344
runtimeVariant: ${{ parameters.runtimeVariant }}
4445
pool: ${{ parameters.pool }}
4546
condition: ${{ parameters.condition }}
47+
dependOnEvaluatePaths: ${{ parameters.dependOnEvaluatePaths }}
4648

4749
# Test jobs should continue on error for internal builds
4850
${{ if eq(variables['System.TeamProject'], 'internal') }}:

eng/pipelines/common/variables.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
variables:
22
- name: isOfficialBuild
3-
value: ${{ and(ne(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}
3+
value: ${{ and(eq(variables['System.TeamProject'], 'internal'), eq(variables['Build.DefinitionName'], 'dotnet-runtime-official')) }}
44
- name: isFullMatrix
55
value: true
6+
7+
# We only run evaluate paths on runtime and runtime-staging pipelines on PRs
8+
- name: dependOnEvaluatePaths
9+
value: ${{ and(eq(variables['Build.Reason'], 'PullRequest'), in(variables['Build.DefinitionName'], 'runtime', 'runtime-staging')) }}
10+
611
- name: debugOnPrReleaseOnRolling
712
${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
813
value: Release

eng/pipelines/common/xplat-setup.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,12 @@ jobs:
1616
runtimeFlavorDisplayName: 'CoreCLR'
1717
${{ if eq(parameters.jobParameters.runtimeFlavor, 'mono') }}:
1818
runtimeFlavorDisplayName: 'Mono'
19+
# keep in sync with /eng/pipelines/common/variables.yml
20+
dependOnEvaluatePaths: ${{ and(eq(variables['Build.Reason'], 'PullRequest'), in(variables['Build.DefinitionName'], 'runtime', 'runtime-staging')) }}
1921
variables:
2022
# Disable component governance in our CI builds. These builds are not shipping nor
2123
# are they a service. Also the component governance jobs issue lots of inconsequential
22-
# warnings and errors into our build timelines that make it hard to track down
24+
# warnings and errors into our build timelines that make it hard to track down
2325
# real errors in the build
2426
- name: skipComponentGovernanceDetection
2527
value: true
@@ -31,6 +33,9 @@ jobs:
3133
- name: System.DisableZipDownload
3234
value: true
3335

36+
- name: checkoutFetchDepth
37+
value: 20
38+
3439
- name: buildConfigUpper
3540
${{ if eq(parameters.jobParameters.buildConfig, 'debug') }}:
3641
value: 'Debug'
@@ -85,7 +90,7 @@ jobs:
8590
value: Mono
8691
${{ if eq(parameters.jobParameters.runtimeFlavor, 'coreclr') }}:
8792
value: CoreCLR
88-
93+
8994
- ${{ each variable in parameters.variables }}:
9095
- ${{ variable }}
9196

eng/pipelines/coreclr/ci.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,7 @@ trigger:
2727
pr: none
2828

2929
jobs:
30-
#
31-
# Checkout repository
32-
#
33-
- template: /eng/pipelines/common/checkout-job.yml
30+
3431

3532
#
3633
# Debug builds

0 commit comments

Comments
 (0)