Sync eng/common directory with azure-sdk-tools for PR 7810 (#7303)
* Run publish on failed or succeeded * Expand agent os string detection * Check agent job status env var for artifact name detection * Add sbomEnabled flag to publish template * Fix image and artifact name conditional --------- Co-authored-by: Ben Broderick Phillips <bebroder@microsoft.com>
This commit is contained in:
Родитель
5c7f07de19
Коммит
82134ef455
|
@ -66,7 +66,7 @@ jobs:
|
|||
value: $[ coalesce(variables.jobMatrixFilter, '.*') ]
|
||||
pool:
|
||||
name: ${{ parameters.Pool }}
|
||||
vmImage: ${{ parameters.OsVmImage }}
|
||||
image: ${{ parameters.OsVmImage }}
|
||||
os: ${{ parameters.Os }}
|
||||
${{ if parameters.DependsOn }}:
|
||||
dependsOn: ${{ parameters.DependsOn }}
|
||||
|
|
|
@ -5,26 +5,28 @@
|
|||
# ArtifactName - The name of the artifact in the "successful" case.
|
||||
# ArtifactPath - The path we will be publishing.
|
||||
# CustomCondition - Used if there is additional logic necessary to prevent attempt of publish.
|
||||
# SbomEnabled - Set whether to auto-inject 1es pipeline template sbom tasks
|
||||
|
||||
parameters:
|
||||
ArtifactName: ''
|
||||
ArtifactPath: ''
|
||||
CustomCondition: true
|
||||
SbomEnabled: true
|
||||
|
||||
steps:
|
||||
- pwsh: |
|
||||
Write-Host "##vso[task.setvariable variable=PublishArtifactName;]${{ parameters.ArtifactName }}"
|
||||
condition: and(succeeded(), ${{ parameters.CustomCondition }})
|
||||
displayName: Set Artifact Name
|
||||
|
||||
- pwsh: |
|
||||
Write-Host "##vso[task.setvariable variable=PublishArtifactName;]${{ parameters.ArtifactName }}-FailedAttempt$(System.JobAttempt)"
|
||||
condition: and(failed(), ${{ parameters.CustomCondition }})
|
||||
displayName: Set Failed Artifact Name
|
||||
if ($env:AGENT_JOBSTATUS -eq "Failed") {
|
||||
Write-Host "##vso[task.setvariable variable=PublishArtifactName;]${{ parameters.ArtifactName }}-FailedAttempt$(System.JobAttempt)"
|
||||
} else {
|
||||
Write-Host "##vso[task.setvariable variable=PublishArtifactName;]${{ parameters.ArtifactName }}"
|
||||
}
|
||||
condition: and(succeededOrFailed(), ${{ parameters.CustomCondition }})
|
||||
displayName: Set Artifact Name $(Agent.JobStatus)
|
||||
|
||||
- task: 1ES.PublishPipelineArtifact@1
|
||||
condition: and(succeeded(), ${{ parameters.CustomCondition }})
|
||||
condition: and(succeededOrFailed(), ${{ parameters.CustomCondition }})
|
||||
displayName: 'Publish ${{ parameters.ArtifactName }} Artifacts'
|
||||
inputs:
|
||||
artifact: '$(PublishArtifactName)'
|
||||
path: '${{ parameters.ArtifactPath }}'
|
||||
artifactName: '$(PublishArtifactName)'
|
||||
targetPath: '${{ parameters.ArtifactPath }}'
|
||||
sbomEnabled: ${{ parameters.SbomEnabled }}
|
||||
|
|
|
@ -10,9 +10,9 @@ function Throw-InvalidOperatingSystem {
|
|||
|
||||
if ($IsWindows -and $AgentImage -match "windows|win|MMS\d{4}") {
|
||||
$osName = "Windows"
|
||||
} elseif ($IsLinux -and $AgentImage -match "ubuntu") {
|
||||
} elseif ($IsLinux -and $AgentImage -match "ubuntu|linux") {
|
||||
$osName = "Linux"
|
||||
} elseif ($IsMacOs -and $AgentImage -match "macos") {
|
||||
} elseif ($IsMacOs -and $AgentImage -match "macos|macOS") {
|
||||
$osName = "macOS"
|
||||
} else {
|
||||
Throw-InvalidOperatingSystem
|
||||
|
|
Загрузка…
Ссылка в новой задаче