Skip to content

Commit d3df614

Browse files
authored
Update archetype-python-release.yml
1 parent 9a2ef40 commit d3df614

File tree

1 file changed

+47
-30
lines changed

1 file changed

+47
-30
lines changed

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

Lines changed: 47 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ parameters:
66
DependsOn: Build
77
DocArtifact: 'documentation'
88
DevFeedName: 'public/azure-sdk-for-python'
9+
PublicFeed: PyPi
10+
PublicPublishEnvironment: package-publish
911
TargetDocRepoOwner: ''
1012
TargetDocRepoName: ''
1113
PackageSourceOverride: "https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-python/pypi/simple/"
@@ -95,7 +97,7 @@ stages:
9597
- deployment: PublishPackage
9698
displayName: "Publish to PyPI"
9799
condition: and(succeeded(), ne(variables['Skip.PublishPackage'], 'true'))
98-
environment: package-publish
100+
environment: ${{ parameters.PublicPublishEnvironment }}
99101
dependsOn: TagRepository
100102

101103
templateContext:
@@ -127,39 +129,54 @@ stages:
127129
python -m pip install -r $(Pipeline.Workspace)/release_artifact/release_requirements.txt
128130
displayName: Install Release Dependencies
129131
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+
130175
- task: TwineAuthenticate@0
131176
displayName: 'Authenticate to feed: ${{parameters.DevFeedName}}'
132177
inputs:
133178
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+
163180
- script: |
164181
set -e
165182
twine upload --repository ${{parameters.DevFeedName}} --config-file $(PYPIRC_PATH) $(Pipeline.Workspace)/${{parameters.ArtifactName}}/${{artifact.name}}/*.whl

0 commit comments

Comments
 (0)