2024-04-29 08:30:04 +00:00
|
|
|
parameters:
|
2018-12-04 17:31:23 +00:00
|
|
|
enablePublishBuildArtifacts: false
|
|
|
|
|
|
|
|
jobs:
|
2024-04-29 08:30:04 +00:00
|
|
|
- template: /eng/common/core-templates/job/job.yml
|
|
|
|
parameters:
|
|
|
|
is1ESPipeline: false
|
|
|
|
|
|
|
|
${{ each parameter in parameters }}:
|
|
|
|
${{ if and(ne(parameter.key, 'steps'), ne(parameter.key, 'is1ESPipeline')) }}:
|
|
|
|
${{ parameter.key }}: ${{ parameter.value }}
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- ${{ each step in parameters.steps }}:
|
|
|
|
- ${{ step }}
|
|
|
|
|
|
|
|
artifactPublishSteps:
|
|
|
|
- ${{ if ne(parameters.artifacts.publish, '') }}:
|
|
|
|
- ${{ if and(ne(parameters.artifacts.publish.artifacts, 'false'), ne(parameters.artifacts.publish.artifacts, '')) }}:
|
|
|
|
- template: /eng/common/core-templates/steps/publish-build-artifacts.yml
|
|
|
|
parameters:
|
|
|
|
is1ESPipeline: false
|
|
|
|
args:
|
|
|
|
displayName: Publish pipeline artifacts
|
|
|
|
pathToPublish: '$(Build.ArtifactStagingDirectory)/artifacts'
|
|
|
|
publishLocation: Container
|
|
|
|
artifactName: ${{ coalesce(parameters.artifacts.publish.artifacts.name , 'Artifacts_$(Agent.Os)_$(_BuildConfig)') }}
|
|
|
|
continueOnError: true
|
|
|
|
condition: always()
|
|
|
|
- ${{ if and(ne(parameters.artifacts.publish.logs, 'false'), ne(parameters.artifacts.publish.logs, '')) }}:
|
|
|
|
- template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml
|
|
|
|
parameters:
|
|
|
|
is1ESPipeline: false
|
|
|
|
args:
|
|
|
|
targetPath: '$(Build.ArtifactStagingDirectory)/artifacts/log'
|
|
|
|
artifactName: ${{ coalesce(parameters.artifacts.publish.logs.name, 'Logs_Build_$(Agent.Os)_$(_BuildConfig)') }}
|
|
|
|
displayName: 'Publish logs'
|
|
|
|
continueOnError: true
|
|
|
|
condition: always()
|
|
|
|
|
|
|
|
- ${{ if ne(parameters.enablePublishBuildArtifacts, 'false') }}:
|
|
|
|
- template: /eng/common/core-templates/steps/publish-build-artifacts.yml
|
|
|
|
parameters:
|
|
|
|
is1ESPipeline: false
|
|
|
|
args:
|
|
|
|
displayName: Publish Logs
|
|
|
|
pathToPublish: '$(Build.ArtifactStagingDirectory)/artifacts/log/$(_BuildConfig)'
|
|
|
|
publishLocation: Container
|
|
|
|
artifactName: ${{ coalesce(parameters.enablePublishBuildArtifacts.artifactName, '$(Agent.Os)_$(Agent.JobName)' ) }}
|
|
|
|
continueOnError: true
|
|
|
|
condition: always()
|
|
|
|
|
|
|
|
- ${{ if eq(parameters.enableBuildRetry, 'true') }}:
|
|
|
|
- template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml
|
|
|
|
parameters:
|
|
|
|
is1ESPipeline: false
|
|
|
|
args:
|
|
|
|
targetPath: '$(Build.SourcesDirectory)\eng\common\BuildConfiguration'
|
|
|
|
artifactName: 'BuildConfiguration'
|
|
|
|
displayName: 'Publish build retry configuration'
|
|
|
|
continueOnError: true
|