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:
Azure SDK Bot 2024-03-05 14:46:56 -08:00 коммит произвёл GitHub
Родитель 5c7f07de19
Коммит 82134ef455
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
3 изменённых файлов: 16 добавлений и 14 удалений

Просмотреть файл

@ -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