@@ -31,6 +31,7 @@ stages:
3131 deploy :
3232 steps :
3333 - checkout : self
34+
3435 - ${{if eq(parameters.TestPipeline, 'true')}} :
3536 - task : PowerShell@2
3637 displayName : Prep template pipeline for release
@@ -40,24 +41,26 @@ stages:
4041 workingDirectory : $(Build.SourcesDirectory)
4142 filePath : eng/scripts/SetTestPipelineVersion.ps1
4243 arguments : ' -BuildID $(Build.BuildId)'
44+
4345 - ${{if ne(artifact.skipVerifyChangeLog, 'true')}} :
4446 - template : /eng/common/pipelines/templates/steps/verify-changelog.yml
4547 parameters :
4648 PackageName : ${{artifact.name}}
4749 ServiceName : ${{parameters.ServiceDirectory}}
4850 ForRelease : true
49- - template : /eng/pipelines/templates/steps/stage-filtered-artifacts.yml
50- parameters :
51- SourceFolder : ${{parameters.ArtifactName}}
52- TargetFolder : ${{artifact.safeName}}
53- PackageName : ${{artifact.name}}
51+
5452 - pwsh : |
55- Get-ChildItem -Recurse $(Pipeline.Workspace)/${{artifact.safeName}}
53+ $packageDirectory = "${{artifact.name}}".Replace("_", "-")
54+ echo "##vso[task.setvariable variable=Package.Name]$packageDirectory"
55+
56+ - pwsh : |
57+ Get-ChildItem -Recurse $(Pipeline.Workspace)/${{parameters.ArtifactName}}/$(Package.Name)
5658 workingDirectory: $(Pipeline.Workspace)
5759 displayName: Output Visible Artifacts
60+
5861 - template : /eng/common/pipelines/templates/steps/create-tags-and-git-release.yml
5962 parameters :
60- ArtifactLocation : $(Pipeline.Workspace)/${{artifact.safeName}}
63+ ArtifactLocation : $(Pipeline.Workspace)/${{parameters.ArtifactName}}/$(Package.Name)
6164 PackageRepository : PyPI
6265 ReleaseSha : $(Build.SourceVersion)
6366 RepoId : Azure/azure-sdk-for-python
@@ -83,19 +86,17 @@ stages:
8386 artifact : ${{parameters.ArtifactName}}
8487 timeoutInMinutes : 5
8588
86- - template : /eng/pipelines/templates/steps/stage-filtered-artifacts.yml
87- parameters :
88- SourceFolder : ${{parameters.ArtifactName}}
89- TargetFolder : ${{artifact.safeName}}
90- PackageName : ${{artifact.name}}
91-
9289 - task : UsePythonVersion@0
9390
9491 - script : |
9592 set -e
9693 pip install twine readme-renderer[md]
9794 displayName: Install Twine
9895
96+ - pwsh : |
97+ $packageDirectory = "${{artifact.name}}".Replace("_", "-")
98+ echo "##vso[task.setvariable variable=Package.Name]$packageDirectory"
99+
99100 - task : TwineAuthenticate@1
100101 displayName : ' Authenticate to registry: pypi.org'
101102 inputs :
@@ -108,17 +109,17 @@ stages:
108109
109110 - script : |
110111 set -e
111- twine upload --repository 'pypi' --config-file $(PYPIRC_PATH) $(Pipeline.Workspace)/${{artifact.safeName}} /*.whl
112+ twine upload --repository 'pypi' --config-file $(PYPIRC_PATH) $(Pipeline.Workspace)/${{parameters.ArtifactName}}/$(Package.Name) /*.whl
112113 echo "Uploaded whl to pypi"
113- twine upload --repository 'pypi' --config-file $(PYPIRC_PATH) $(Pipeline.Workspace)/${{artifact.safeName}} /*.zip
114+ twine upload --repository 'pypi' --config-file $(PYPIRC_PATH) $(Pipeline.Workspace)/${{parameters.ArtifactName}}/$(Package.Name) /*.zip
114115 echo "Uploaded zip to pypi"
115116 displayName: 'Publish package to registry: pypi.org'
116117
117118 - script : |
118119 set -e
119- twine upload --repository ${{parameters.DevFeedName}} --config-file $(PYPIRC_PATH) $(Pipeline.Workspace)/${{artifact.safeName}} /*.whl
120+ twine upload --repository ${{parameters.DevFeedName}} --config-file $(PYPIRC_PATH) $(Pipeline.Workspace)/${{parameters.ArtifactName}}/$(Package.Name) /*.whl
120121 echo "Uploaded whl to devops feed"
121- twine upload --repository ${{parameters.DevFeedName}} --config-file $(PYPIRC_PATH) $(Pipeline.Workspace)/${{artifact.safeName}} /*.zip
122+ twine upload --repository ${{parameters.DevFeedName}} --config-file $(PYPIRC_PATH) $(Pipeline.Workspace)/${{parameters.ArtifactName}}/$(Package.Name) /*.zip
122123 echo "Uploaded sdist to devops feed"
123124 displayName: 'Publish package to feed: ${{parameters.DevFeedName}}'
124125
@@ -138,23 +139,23 @@ stages:
138139 deploy :
139140 steps :
140141 - checkout : self
141- - template : /eng/pipelines/templates/steps/stage-filtered-artifacts.yml
142- parameters :
143- SourceFolder : ${{parameters.DocArtifact}}
144- TargetFolder : ${{artifact.safeName}}
145- PackageName : ${{artifact.name}}
146- AdditionalRegex : ' .zip'
142+
143+ - pwsh : |
144+ $packageDirectory = "${{artifact.name}}".Replace("_", "-")
145+ echo "##vso[task.setvariable variable=Package.Name]$packageDirectory"
146+
147147 - pwsh : |
148- Get-ChildItem -Recurse $(Pipeline.Workspace)/${{artifact.safeName}}
148+ Get-ChildItem -Recurse $(Pipeline.Workspace)/${{parameters.DocArtifact}}/$(Package.Name)
149149 workingDirectory: $(Pipeline.Workspace)
150150 displayName: Output Visible Artifacts
151+
151152 - template : /eng/common/pipelines/templates/steps/publish-blobs.yml
152153 parameters :
153- FolderForUpload : ' $(Pipeline.Workspace)/${{artifact.safeName}} '
154+ FolderForUpload : ' $(Pipeline.Workspace)/${{parameters.DocArtifact}}/$(Package.Name) '
154155 BlobSASKey : ' $(azure-sdk-docs-prod-sas)'
155156 BlobName : ' $(azure-sdk-docs-prod-blob-name)'
156157 TargetLanguage : ' python'
157- ArtifactLocation : ' $(Pipeline.Workspace)/${{parameters.ArtifactName}}'
158+ ArtifactLocation : ' $(Pipeline.Workspace)/${{parameters.ArtifactName}}/$(Package.Name) '
158159 # we override the regular script path because we have cloned the build tools repo as a separate artifact.
159160 ScriptPath : ' eng/common/scripts/copy-docs-to-blobstorage.ps1'
160161
@@ -177,22 +178,24 @@ stages:
177178 deploy :
178179 steps :
179180 - checkout : self
180- - template : /eng/pipelines/templates/steps/stage-filtered-artifacts.yml
181- parameters :
182- SourceFolder : ${{parameters.ArtifactName}}
183- TargetFolder : ${{artifact.safeName}}
184- PackageName : ${{artifact.name}}
181+
182+ - pwsh : |
183+ $packageDirectory = " ${{artifact.name}}".Replace("_", "-")
184+ echo "##vso[task.setvariable variable=Package.Name]$packageDirectory"
185+
185186 - pwsh : |
186- Get-ChildItem -Recurse $(Pipeline.Workspace)/${{artifact.safeName}}
187+ Get-ChildItem -Recurse $(Pipeline.Workspace)/${{parameters.ArtifactName}}/$(Package.Name)
187188 workingDirectory: $(Pipeline.Workspace)
188189 displayName: Output Visible Artifacts
190+
189191 - template : /eng/common/pipelines/templates/steps/get-pr-owners.yml
190192 parameters :
191193 TargetVariable : " OwningGHUser"
192194 ServiceDirectory : ${{parameters.ServiceDirectory}}
195+
193196 - template : /eng/common/pipelines/templates/steps/docs-metadata-release.yml
194197 parameters :
195- ArtifactLocation : $(Pipeline.Workspace)/${{artifact.safeName}}
198+ ArtifactLocation : $(Pipeline.Workspace)/${{parameters.ArtifactName}}/$(Package.Name)
196199 PackageRepository : PyPI
197200 ReleaseSha : $(Build.SourceVersion)
198201 RepoId : Azure/azure-sdk-for-python
@@ -280,22 +283,17 @@ stages:
280283 - ${{ each artifact in parameters.Artifacts }} :
281284 - ${{if ne(artifact.skipPublishDevFeed, 'true')}} :
282285 - pwsh : |
283- Get-ChildItem $(Pipeline.Workspace)/${{parameters.ArtifactName}}
284- New-Item -Type Directory -Name ${{artifact.safeName}} -Path $(Pipeline.Workspace)
285- $underscorePrefix = "${{artifact.name}}"
286- $dashPrefix = "${{artifact.name}}".Replace("_", "-")
287- Copy-Item $(Pipeline.Workspace)/${{parameters.ArtifactName}}/$dashPrefix-[0-9]*.[0-9]*.[0-9]*a[0-9]* $(Pipeline.Workspace)/${{artifact.safeName}}
288- Copy-Item $(Pipeline.Workspace)/${{parameters.ArtifactName}}/$underscorePrefix-[0-9]*.[0-9]*.[0-9]*a[0-9]* $(Pipeline.Workspace)/${{artifact.safeName}}
289- Get-ChildItem $(Pipeline.Workspace)/${{artifact.safeName}}
290-
291- $fileCount = (Get-ChildItem $(Pipeline.Workspace)/${{artifact.safeName}} | Measure-Object).Count
286+ $packageDirectory = "${{artifact.name}}".Replace("_", "-")
287+ echo "##vso[task.setvariable variable=Package.Name]$packageDirectory"
288+ - pwsh : |
289+ $fileCount = (Get-ChildItem $(Pipeline.Workspace)/${{parameters.ArtifactName}}/$packageDirectory | Measure-Object).Count
292290 if ($fileCount -eq 0) {
293291 Write-Host "No alpha packages for ${{artifact.safeName}} to publish."
294292 exit 0
295293 }
296294
297- twine upload --repository $(DevFeedName) --config-file $(PYPIRC_PATH) $(Pipeline.Workspace)/${{artifact.safeName}} /*a*.whl
295+ twine upload --repository $(DevFeedName) --config-file $(PYPIRC_PATH) $(Pipeline.Workspace)/${{parameters.ArtifactName}}/$(Package.Name) /*a*.whl
298296 echo "Uploaded whl to devops feed $(DevFeedName)"
299- twine upload --repository $(DevFeedName) --config-file $(PYPIRC_PATH) $(Pipeline.Workspace)/${{artifact.safeName}} /*a*.zip
297+ twine upload --repository $(DevFeedName) --config-file $(PYPIRC_PATH) $(Pipeline.Workspace)/${{parameters.ArtifactName}}/$(Package.Name) /*a*.zip
300298 echo "Uploaded sdist to devops feed $(DevFeedName)"
301299 displayName: 'Publish ${{artifact.name}} alpha package'
0 commit comments