Skip to content

Commit

Permalink
Add staging pipeline to PRs
Browse files Browse the repository at this point in the history
  • Loading branch information
safern committed Nov 25, 2020
1 parent d73c65e commit 2f8af75
Show file tree
Hide file tree
Showing 16 changed files with 222 additions and 113 deletions.
79 changes: 79 additions & 0 deletions eng/pipelines/common/checkout-and-evaluate-paths.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
parameters:
extraSubsets: ''

jobs:
- 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/*
- 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/*

- ${{ parameters.extraSubsets }}
2 changes: 2 additions & 0 deletions eng/pipelines/common/global-build-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ parameters:
pool: ''
platform: ''
condition: true
shouldContinueOnError: false
isOfficialBuild: false
runtimeFlavor: 'coreclr'
helixQueues: ''
Expand Down Expand Up @@ -103,6 +104,7 @@ jobs:
targetRid: ${{ parameters.targetRid }}
nameSuffix: ${{ parameters.nameSuffix }}
platform: ${{ parameters.platform }}
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
${{ insert }}: ${{ parameters.extraStepsParameters }}

- task: PublishBuildArtifacts@1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ parameters:
timeoutInMinutes: ''
enableMicrobuild: ''
gatherAssetManifests: false
shouldContinueOnError: false


steps:
Expand All @@ -38,6 +39,7 @@ steps:
osSubgroup: ${{ parameters.osSubgroup}}
coreClrRepoRoot: $(Build.SourcesDirectory)/src/coreclr
runtimeFlavorDisplayName: ${{ parameters.runtimeFlavorDisplayName }}
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}

${{ if eq(variables['System.TeamProject'], 'public') }}:
creator: $(Build.DefinitionName)
Expand Down
2 changes: 2 additions & 0 deletions eng/pipelines/common/templates/runtimes/run-test-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ parameters:
pool: ''
runtimeFlavor: 'coreclr'
runtimeFlavorDisplayName: 'CoreCLR'
shouldContinueOnError: false
dependsOn: []

### Test run job
Expand Down Expand Up @@ -305,6 +306,7 @@ jobs:
osGroup: ${{ parameters.osGroup }}
osSubgroup: ${{ parameters.osSubgroup}}
runtimeFlavorDisplayName: ${{ parameters.runtimeFlavorDisplayName }}
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}

${{ if eq(variables['System.TeamProject'], 'public') }}:
creator: $(Build.DefinitionName)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ parameters:
condition: ''
displayName: ''
environment: {}
shouldContinueOnError: false

steps:
- ${{ if eq(parameters.osGroup, 'windows') }}:
Expand All @@ -17,6 +18,7 @@ steps:
displayName: ${{ parameters.displayName }} (Windows)
condition: ${{ and(ne(parameters.condition, false), ne(parameters.sendParams, '')) }}
env: ${{ parameters.environment }}
continueOnError: ${{ parameters.shouldContinueOnError }}

- ${{ if ne(parameters.osGroup, 'windows') }}:
# TODO: Remove and consolidate this when we move to arcade via init-tools.sh.
Expand All @@ -32,3 +34,4 @@ steps:
displayName: ${{ parameters.displayName }} (Unix)
condition: ${{ and(ne(parameters.condition, false), ne(parameters.sendParams, '')) }}
env: ${{ parameters.environment }}
continueOnError: ${{ parameters.shouldContinueOnError }}
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ parameters:
gcSimulatorTests: ''
runtimeFlavorDisplayName: 'CoreCLR'
runtimeVariant: ''
shouldContinueOnError: false


steps:
- template: send-to-helix-inner-step.yml
Expand All @@ -33,6 +35,7 @@ steps:
restoreParams: /p:DotNetPublishToBlobFeed=true -restore -projects $(Build.SourcesDirectory)$(dir)eng$(dir)empty.csproj
sendParams: ${{ parameters.helixProjectArguments }} /maxcpucount /bl:$(Build.SourcesDirectory)/artifacts/log/SendToHelix.binlog /p:TargetArchitecture=${{ parameters.archType }} /p:TargetOS=${{ parameters.osGroup }} /p:TargetOSSubgroup=${{ parameters.osSubgroup }} /p:Configuration=${{ parameters.buildConfig }}
condition: and(succeeded(), ${{ parameters.condition }})
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
displayName: ${{ parameters.displayName }}
environment:
_Creator: ${{ parameters.creator }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ parameters:
timeoutInMinutes: ''
enableMicrobuild: ''
gatherAssetManifests: false
shouldContinueOnError: false


steps:
Expand All @@ -44,6 +45,7 @@ steps:
osSubgroup: ${{ parameters.osSubgroup}}
coreClrRepoRoot: $(Build.SourcesDirectory)/src/coreclr
runtimeFlavorDisplayName: ${{ parameters.runtimeFlavorDisplayName }}
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}

${{ if eq(variables['System.TeamProject'], 'public') }}:
creator: $(Build.DefinitionName)
Expand Down
3 changes: 3 additions & 0 deletions eng/pipelines/common/xplat-setup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ jobs:
runtimeFlavorDisplayName: 'CoreCLR'
${{ if eq(parameters.jobParameters.runtimeFlavor, 'mono') }}:
runtimeFlavorDisplayName: 'Mono'

shouldContinueOnError: ${{ endsWith(variables['Build.DefinitionName'], '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
Expand Down
2 changes: 2 additions & 0 deletions eng/pipelines/coreclr/templates/helix-queues-setup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ parameters:
pool: ''
platform: ''
runtimeFlavorDisplayName: ''
shouldContinueOnError: false
jobParameters: {}

jobs:
Expand All @@ -19,6 +20,7 @@ jobs:
archType: ${{ parameters.archType }}
container: ${{ parameters.container }}
pool: ${{ parameters.pool }}
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
runtimeFlavorDisplayName: ${{ parameters.runtimeFlavorDisplayName }}
helixQueues:

Expand Down
4 changes: 4 additions & 0 deletions eng/pipelines/installer/jobs/base-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ parameters:
crossrootfsDir: ''
timeoutInMinutes: 120
condition: true
shouldContinueOnError: false
container: ''
buildSteps: []
dependsOn: []
Expand Down Expand Up @@ -377,11 +378,13 @@ jobs:
- ${{ if ne(parameters.osGroup, 'OSX') }}:
- script: $(BaseJobBuildCommand)
displayName: Build
continueOnError: ${{ and(eq(variables.SkipTests, false), parameters.shouldContinueOnError) }}

# Build corehost, sign and add entitlements to MacOS binaries
- ${{ if eq(parameters.osGroup, 'OSX') }}:
- script: $(BaseJobBuildCommand) -subset host.native
displayName: Build CoreHost
continueOnError: ${{ and(eq(variables.SkipTests, false), parameters.shouldContinueOnError) }}

- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- template: /eng/pipelines/common/macos-sign-with-entitlements.yml
Expand All @@ -396,6 +399,7 @@ jobs:

- script: $(BaseJobBuildCommand) -subset host.pkg+host.tools+packs
displayName: Build and Package
continueOnError: ${{ and(eq(variables.SkipTests, false), parameters.shouldContinueOnError) }}

- ${{ if in(parameters.osGroup, 'OSX', 'iOS','tvOS') }}:
- script: |
Expand Down
2 changes: 2 additions & 0 deletions eng/pipelines/libraries/build-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ parameters:
preBuildSteps: []
container: ''
condition: true
shouldContinueOnError: false
variables: {}
pool: ''
runTests: false
Expand Down Expand Up @@ -142,6 +143,7 @@ jobs:
buildConfig: ${{ parameters.buildConfig }}
helixQueues: ${{ parameters.helixQueues }}
testScope: ${{ parameters.testScope }}
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
creator: dotnet-bot
testRunNamePrefixSuffix: $(_testRunNamePrefixSuffix)
extraHelixArguments: $(_extraHelixArguments)
2 changes: 2 additions & 0 deletions eng/pipelines/libraries/helix-queues-setup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ parameters:
pool: ''
platform: ''
runtimeFlavorDisplayName: ''
shouldContinueOnError: false
jobParameters: {}

jobs:
Expand All @@ -19,6 +20,7 @@ jobs:
archType: ${{ parameters.archType }}
container: ${{ parameters.container }}
pool: ${{ parameters.pool }}
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
runtimeFlavorDisplayName: ${{ parameters.runtimeFlavorDisplayName }}
helixQueues:

Expand Down
2 changes: 2 additions & 0 deletions eng/pipelines/libraries/helix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ parameters:
interpreter: ''
condition: always()
extraHelixArguments: ''
shouldContinueOnError: false
scenarios: ''

steps:
Expand All @@ -30,6 +31,7 @@ steps:
/bl:$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)/SendToHelix.binlog
displayName: Send to Helix
condition: and(succeeded(), ${{ parameters.condition }})
continueOnError: ${{ parameters.shouldContinueOnError }}
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
HelixTargetQueues: ${{ join('+', parameters.helixQueues) }} # Pass queues to MSBuild as env var to avoid need of escaping them
Expand Down
2 changes: 2 additions & 0 deletions eng/pipelines/libraries/run-test-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ parameters:
dependsOnTestBuildConfiguration: Debug
dependsOnTestArchitecture: x64
condition: true
shouldContinueOnError: false
variables: {}
# coreclrTestGroup: if empty, then a normal, default test run is created. If set, it indicates a set of
# stress modes that each test will be run with. This is the same usage as 'testGroup' in
Expand Down Expand Up @@ -120,6 +121,7 @@ jobs:
helixQueues: ${{ parameters.helixQueues }}
testScope: ${{ parameters.testScope }}
interpreter: ${{ parameters.interpreter }}
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
creator: dotnet-bot
testRunNamePrefixSuffix: $(_testRunNamePrefixSuffix)
extraHelixArguments: $(_extraHelixArguments)
Expand Down
Loading

0 comments on commit 2f8af75

Please sign in to comment.