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

npm additional tag whitespace check #29463

Merged
merged 16 commits into from May 1, 2024
22 changes: 12 additions & 10 deletions eng/pipelines/templates/steps/npm-release-task.yml
Expand Up @@ -8,7 +8,7 @@ parameters:

steps:
- template: /eng/common/pipelines/templates/steps/set-default-branch.yml
- ${{if eq(parameters.Registry, 'https://registry.npmjs.org/')}}:
- ${{ if eq(parameters.Registry, 'https://registry.npmjs.org/') }}:
- task: EsrpRelease@6
inputs:
displayName: 'Publish ${{parameters.Artifact.name}} to ESRP'
Expand All @@ -22,16 +22,18 @@ steps:
MainPublisher: 'ESRPRELPACMANTEST'
DomainTenantId: '72f988bf-86f1-41af-91ab-2d7cd011db47'
ProductStateField: ${{parameters.Tag}}
- pwsh: Write-Host "##vso[task.setvariable variable=additionalTag${{parameters.AdditionalTag}}]"
displayName: Set Additional Tag Variable

- ${{if ne(parameters.AdditionalTag, '')}}:
- task: PowerShell@2
displayName: Add Additional Tag
inputs:
targetType: filePath
filePath: eng/tools/publish-to-npm.ps1
arguments: -addTag $true -pathToArtifacts ${{parameters.PathToArtifacts}} -accessLevel "public" -tag "${{parameters.AdditionalTag}}" -registry ${{parameters.Registry}} -npmToken $(azure-sdk-npm-token)
pwsh: true
condition: succeeded()
- ${{ if ne(variables['additionalTag'], '') }}:
Copy link
Member Author

@ckairen ckairen May 1, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this has to be variable because parameters are set at init time, will evaluate to $(AdditionalTags) -> the literal code, which "$(AdditionalTags)" != "" despite $AdditionalTags will render as "" dynamically

- task: PowerShell@2
displayName: Add Additional Tag
inputs:
targetType: filePath
filePath: eng/tools/publish-to-npm.ps1
arguments: -addTag $true -pathToArtifacts ${{parameters.PathToArtifacts}} -accessLevel "public" -tag "${{parameters.AdditionalTag}}" -registry ${{parameters.Registry}} -npmToken $(azure-sdk-npm-token)
pwsh: true
condition: succeeded()

- ${{ else }}:
- task: PowerShell@2
Expand Down
4 changes: 3 additions & 1 deletion eng/tools/publish-to-npm.ps1
Expand Up @@ -167,7 +167,9 @@ try {
Write-Host "npm dist-tag add $nameAndVersion $tag"
npm dist-tag add $nameAndVersion $tag
}
if ($additionalTag -ne "" && $additionalTag -ne $tag) {
if (![string]::IsNullOrWhitespace($additionalTag) -and ($additionalTag -ne $tag)) {
Write-Host "Tag: '$tag'"
Write-Host "Additional tag: '$additionalTag'"
Write-Host "Adding additional tag for package"
Write-Host "npm dist-tag add $nameAndVersion $additionalTag"
npm dist-tag add $nameAndVersion $additionalTag
Expand Down