Skip to content

Commit 2d80359

Browse files
authored
Merge a975cbe into 724ecf1
2 parents 724ecf1 + a975cbe commit 2d80359

File tree

5 files changed

+74
-6
lines changed

5 files changed

+74
-6
lines changed

eng/pipelines/templates/stages/archetype-js-release.yml

-2
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@ stages:
9494
condition: succeeded()
9595
- template: /eng/pipelines/templates/steps/npm-release-task.yml
9696
parameters:
97-
ArtifactName: ${{parameters.ArtifactName}}
9897
Artifact: ${{artifact}}
9998
Registry: ${{parameters.Registry}}
10099
PathToArtifacts: $(Pipeline.Workspace)/${{parameters.ArtifactName}}/${{artifact.name}}
@@ -258,7 +257,6 @@ stages:
258257
displayName: Detecting package archive_${{artifact.name}}
259258
- template: /eng/pipelines/templates/steps/npm-release-task.yml
260259
parameters:
261-
ArtifactName: ${{parameters.ArtifactName}}
262260
Artifact: ${{artifact}}
263261
Registry: ${{parameters.Registry}}
264262
PathToArtifacts: $(Pipeline.Workspace)/${{parameters.ArtifactName}}/${{artifact.name}}

eng/pipelines/templates/stages/archetype-sdk-client.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ extends:
5757
Artifacts: ${{ parameters.Artifacts }}
5858
${{ if eq(parameters.ServiceDirectory, 'template') }}:
5959
TestPipeline: true
60-
RunUnitTests: ${{ parameters.RunUnitTests }}
60+
RunUnitTests: false
6161
MatrixConfigs:
6262
- ${{ each config in parameters.MatrixConfigs }}:
6363
- ${{ config }}

eng/pipelines/templates/stages/partner-release.yml

-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ extends:
5858

5959
- template: /eng/pipelines/templates/steps/npm-release-task.yml
6060
parameters:
61-
ArtifactName: Partner Drop
6261
Artifact:
6362
name: Partner Drop
6463
path: $(Artifacts)

eng/pipelines/templates/steps/npm-release-task.yml

+25-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
parameters:
2-
ArtifactName: ''
32
Artifact: {}
43
Registry: ''
54
PathToArtifacts: ''
@@ -10,6 +9,22 @@ steps:
109
- template: /eng/common/pipelines/templates/steps/set-default-branch.yml
1110

1211
- ${{ if eq(parameters.Registry, 'https://registry.npmjs.org/') }}:
12+
- pwsh: |
13+
$tarFile = (Get-ChildItem -Path "${{parameters.PathToArtifacts}}/*.tgz").FullName
14+
$tempDir = "$(System.DefaultWorkingDirectory)/temp_decompress"
15+
New-Item -ItemType Directory -Force -Path $tempDir
16+
tar -xzf $tarFile -C $tempDir
17+
$packageJsonDir = "$tempDir\package\package.json"
18+
echo "##vso[task.setvariable variable=PackageJsonDir]$packageJsonDir"
19+
$pkg = Get-Content -Raw "$packageJsonDir" | ConvertFrom-Json
20+
$packageName = $pkg.Name
21+
$packageVersion = $pkg.Version
22+
$packageProps = npm view $packageName -json | ConvertFrom-Json
23+
$originalTags = $packageProps.'dist-tags' | ConvertTo-Json -Compress
24+
echo "##vso[task.setvariable variable=OriginalTags]$originalTags"
25+
echo "##vso[task.setvariable variable=IntendedTagVersion]$packageVersion"
26+
displayName: Get original tags
27+
1328
- task: EsrpRelease@7
1429
inputs:
1530
displayName: 'Publish ${{parameters.Artifact.name}} to ESRP'
@@ -26,7 +41,15 @@ steps:
2641
ServiceEndpointUrl: 'https://api.esrp.microsoft.com'
2742
MainPublisher: 'ESRPRELPACMANTEST'
2843
DomainTenantId: '72f988bf-86f1-41af-91ab-2d7cd011db47'
29-
productstate: ${{parameters.Tag}}
44+
# productstate: ${{parameters.Tag}}
45+
46+
- task: Powershell@2
47+
displayName: Verify package tags
48+
inputs:
49+
targetType: filePath
50+
filePath: eng/scripts/verify-npm-tags.ps1
51+
arguments: -originalDistTags '$(OriginalTags)' -intendedTag ${{parameters.Tag}} -intendedTagVersion '$(IntendedTagVersion)' -packageJson $(PackageJsonDir)
52+
pwsh: true
3053

3154
- ${{ if ne(parameters.AdditionalTag, '') }}:
3255
- task: PowerShell@2

eng/scripts/verify-npm-tags.ps1

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
param (
2+
[Parameter(mandatory = $true)]
3+
$originalDistTags,
4+
[Parameter(mandatory = $true)]
5+
$intendedTag,
6+
[Parameter(mandatory = $true)]
7+
$intendedTagVersion,
8+
[Parameter(mandatory = $true)]
9+
$packageJson
10+
)
11+
12+
$ErrorActionPreference = 'Stop'
13+
$PSNativeCommandUseErrorActionPreference = $true
14+
15+
$pkg = Get-Content -Raw $packageJson | ConvertFrom-Json
16+
$packageName = $pkg.Name
17+
18+
Write-Host "Verify npm tag versions for package $packageName"
19+
20+
$parsedOriginalDistTags = $originalDistTags | ConvertFrom-Json
21+
22+
$npmPkgProp = npm view $packageName --json | ConvertFrom-Json
23+
$packageDistTags = $npmPkgProp."dist-tags"
24+
25+
Write-Host "Original dist-tag: $parsedOriginalDistTags"
26+
Write-Host "Current dist-tag: $packageDistTags"
27+
Write-Host "Intend to add tag $intendedTag to version $intendedTagVersion"
28+
29+
if ($packageDistTags."$intendedTag" -ne $intendedTagVersion) {
30+
Write-Warning "Tag not correctly set, current $intendedTag tag is version $($packageDistTags."$intendedTag") instead of $intendedTagVersion."
31+
$correctDistTags = $parsedOriginalDistTags
32+
$correctDistTags."$intendedTag" = $intendedTagVersion
33+
Write-Host "Setting AuthToken Deployment"
34+
$regAuth = "//registry.npmjs.org/"
35+
write-host "azure sdk npm token"
36+
Write-Host $env:azure-sdk-npm-token
37+
write-host $(azure-sdk-npm-token)
38+
npm config set $regAuth`:_authToken=`$`{azure-sdk-npm-token`}
39+
foreach($tag in $correctDistTags.PSObject.Properties) {
40+
Write-Host "npm dist-tag add $packageName@$($tag.value) $($tag.Name)"
41+
npm dist-tag add $packageName@$($tag.value) $($tag.Name)
42+
}
43+
$npmPkgProp = npm view $packageName --json | ConvertFrom-Json
44+
$packageDistTags = $npmPkgProp."dist-tags"
45+
Write-Host "Corrected dist tags to: $packageDistTags"
46+
} else {
47+
Write-Host "Tag verified."
48+
}

0 commit comments

Comments
 (0)