@@ -6,6 +6,8 @@ parameters:
6
6
DependsOn : Build
7
7
DocArtifact : ' documentation'
8
8
DevFeedName : ' public/azure-sdk-for-python'
9
+ PublicFeed : PyPi
10
+ PublicPublishEnvironment : package-publish
9
11
TargetDocRepoOwner : ' '
10
12
TargetDocRepoName : ' '
11
13
PackageSourceOverride : " https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-python/pypi/simple/"
@@ -93,9 +95,9 @@ stages:
93
95
94
96
- ${{if ne(artifact.skipPublishPackage, 'true')}} :
95
97
- deployment : PublishPackage
96
- displayName : " Publish to PyPI "
98
+ displayName : " Publish to ${{ parameters.PublicFeed }} "
97
99
condition : and(succeeded(), ne(variables['Skip.PublishPackage'], 'true'))
98
- environment : package-publish
100
+ environment : ${{ parameters.PublicPublishEnvironment }}
99
101
dependsOn : TagRepository
100
102
101
103
templateContext :
@@ -127,39 +129,54 @@ stages:
127
129
python -m pip install -r $(Pipeline.Workspace)/release_artifact/release_requirements.txt
128
130
displayName: Install Release Dependencies
129
131
132
+ - ${{ if eq(parameters.PublicFeed, 'PyPi') }} :
133
+ - pwsh : |
134
+ $esrpDirectory = "$(Pipeline.Workspace)/esrp-release/${{parameters.ArtifactName}}/${{artifact.name}}"
135
+ New-Item -ItemType Directory -Force -Path $esrpDirectory
136
+
137
+ Get-ChildItem -Path "$(Pipeline.Workspace)/${{parameters.ArtifactName}}/${{artifact.name}}" `
138
+ | Where-Object { ($_.Name -like "*.tar.gz" -or $_.Name -like "*.whl") } `
139
+ | Copy-Item -Destination $esrpDirectory
140
+
141
+ Get-ChildItem $esrpDirectory
142
+ displayName : Isolate files for ESRP Publish
143
+
144
+ - task : EsrpRelease@9
145
+ displayName : ' Publish to ESRP'
146
+ inputs :
147
+ ConnectedServiceName : ' Azure SDK PME Managed Identity'
148
+ ClientId : ' 5f81938c-2544-4f1f-9251-dd9de5b8a81b'
149
+ DomainTenantId : ' 975f013f-7f24-47e8-a7d3-abc4752bf346'
150
+ UseManagedIdentity : true
151
+ KeyVaultName : ' kv-azuresdk-codesign'
152
+ SignCertName : ' azure-sdk-esrp-release-certificate'
153
+ Intent : ' PackageDistribution'
154
+ ContentType : ' PyPI'
155
+ FolderLocation : $(Pipeline.Workspace)/esrp-release/${{parameters.ArtifactName}}/${{artifact.name}}
156
+ Owners : $(Build.RequestedForEmail)
157
+ Approvers : $(Build.RequestedForEmail)
158
+ ServiceEndpointUrl : ' https://api.esrp.microsoft.com'
159
+ MainPublisher : ' ESRPRELPACMANTEST'
160
+
161
+ - ${{ if ne(parameters.PublicFeed, 'PyPi') }} :
162
+ - task : TwineAuthenticate@0
163
+ displayName : ' Authenticate to feed: ${{parameters.PublicFeed}}'
164
+ inputs :
165
+ artifactFeeds : ${{parameters.PublicFeed}}
166
+
167
+ - script : |
168
+ set -e
169
+ twine upload --repository ${{parameters.PublicFeed}} --config-file $(PYPIRC_PATH) $(Pipeline.Workspace)/${{parameters.ArtifactName}}/${{artifact.name}}/*.whl
170
+ echo "Uploaded whl to devops feed"
171
+ twine upload --repository ${{parameters.PublicFeed}} --config-file $(PYPIRC_PATH) $(Pipeline.Workspace)/${{parameters.ArtifactName}}/${{artifact.name}}/*.tar.gz
172
+ echo "Uploaded sdist to devops feed"
173
+ displayName: 'Publish package to feed: ${{parameters.PublicFeed}}'
174
+
130
175
- task : TwineAuthenticate@0
131
176
displayName : ' Authenticate to feed: ${{parameters.DevFeedName}}'
132
177
inputs :
133
178
artifactFeeds : ${{parameters.DevFeedName}}
134
-
135
- - pwsh : |
136
- $esrpDirectory = "$(Pipeline.Workspace)/esrp-release/${{parameters.ArtifactName}}/${{artifact.name}}"
137
- New-Item -ItemType Directory -Force -Path $esrpDirectory
138
-
139
- Get-ChildItem -Path "$(Pipeline.Workspace)/${{parameters.ArtifactName}}/${{artifact.name}}" `
140
- | Where-Object { ($_.Name -like "*.tar.gz" -or $_.Name -like "*.whl") } `
141
- | Copy-Item -Destination $esrpDirectory
142
-
143
- Get-ChildItem $esrpDirectory
144
- displayName: Isolate files for ESRP Publish
145
-
146
- - task : EsrpRelease@9
147
- displayName : ' Publish to ESRP'
148
- inputs :
149
- ConnectedServiceName : ' Azure SDK PME Managed Identity'
150
- ClientId : ' 5f81938c-2544-4f1f-9251-dd9de5b8a81b'
151
- DomainTenantId : ' 975f013f-7f24-47e8-a7d3-abc4752bf346'
152
- UseManagedIdentity : true
153
- KeyVaultName : ' kv-azuresdk-codesign'
154
- SignCertName : ' azure-sdk-esrp-release-certificate'
155
- Intent : ' PackageDistribution'
156
- ContentType : ' PyPI'
157
- FolderLocation : $(Pipeline.Workspace)/esrp-release/${{parameters.ArtifactName}}/${{artifact.name}}
158
- Owners : $(Build.RequestedForEmail)
159
- Approvers : $(Build.RequestedForEmail)
160
- ServiceEndpointUrl : ' https://api.esrp.microsoft.com'
161
- MainPublisher : ' ESRPRELPACMANTEST'
162
-
179
+
163
180
- script : |
164
181
set -e
165
182
twine upload --repository ${{parameters.DevFeedName}} --config-file $(PYPIRC_PATH) $(Pipeline.Workspace)/${{parameters.ArtifactName}}/${{artifact.name}}/*.whl
0 commit comments