Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add staging pipeline to PRs #45178

Merged
merged 2 commits into from
Nov 30, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 80 additions & 0 deletions eng/pipelines/common/checkout-and-evaluate-paths.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
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/*

- ${{ if ne(parameters.extraSubsets, '') }}:
- ${{ 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 }}

naricc marked this conversation as resolved.
Show resolved Hide resolved
${{ 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') }}

safern marked this conversation as resolved.
Show resolved Hide resolved
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