aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--.azure-pipelines/windows-release.yml115
-rw-r--r--.azure-pipelines/windows-release/stage-pack-nuget.yml19
-rw-r--r--.azure-pipelines/windows-release/stage-publish-nugetorg.yml4
-rw-r--r--.azure-pipelines/windows-release/stage-publish-pythonorg.yml4
-rw-r--r--.azure-pipelines/windows-release/stage-publish-store.yml2
5 files changed, 85 insertions, 59 deletions
diff --git a/.azure-pipelines/windows-release.yml b/.azure-pipelines/windows-release.yml
index ae2d1b9da13..096ecadc79e 100644
--- a/.azure-pipelines/windows-release.yml
+++ b/.azure-pipelines/windows-release.yml
@@ -136,69 +136,80 @@ stages:
- template: windows-release/stage-test-embed.yml
- template: windows-release/stage-test-nuget.yml
- - stage: Layout_MSIX
- displayName: Generate MSIX layouts
- dependsOn: Sign
- condition: and(succeeded(), eq(variables['DoMSIX'], 'true'))
- jobs:
- - template: windows-release/stage-layout-msix.yml
- parameters:
- ARM64TclTk: ${{ parameters.ARM64TclTk }}
-
- - stage: Pack_MSIX
- displayName: Package MSIX
- dependsOn: Layout_MSIX
- jobs:
- - template: windows-release/stage-pack-msix.yml
-
- - stage: Build_MSI
- displayName: Build MSI installer
- dependsOn: Sign
- condition: and(succeeded(), eq(variables['DoMSI'], 'true'))
- jobs:
- - template: windows-release/stage-msi.yml
- parameters:
- ARM64TclTk: ${{ parameters.ARM64TclTk }}
-
- - stage: Test_MSI
- displayName: Test MSI installer
- dependsOn: Build_MSI
- jobs:
- - template: windows-release/stage-test-msi.yml
+ - ${{ if eq(parameters.DoMSIX, 'true') }}:
+ - stage: Layout_MSIX
+ displayName: Generate MSIX layouts
+ dependsOn: Sign
+ jobs:
+ - template: windows-release/stage-layout-msix.yml
+ parameters:
+ ARM64TclTk: ${{ parameters.ARM64TclTk }}
- - ${{ if eq(parameters.DoPublish, 'true') }}:
- - stage: PublishPyDotOrg
- displayName: Publish to python.org
- dependsOn: ['Test_MSI', 'Test']
+ - stage: Pack_MSIX
+ displayName: Package MSIX
+ dependsOn: Layout_MSIX
jobs:
- - template: windows-release/stage-publish-pythonorg.yml
+ - template: windows-release/stage-pack-msix.yml
- - stage: PublishNuget
- displayName: Publish to nuget.org
- dependsOn: Test
+ - ${{ if eq(parameters.DoMSI, 'true') }}:
+ - stage: Build_MSI
+ displayName: Build MSI installer
+ dependsOn: Sign
jobs:
- - template: windows-release/stage-publish-nugetorg.yml
+ - template: windows-release/stage-msi.yml
+ parameters:
+ ARM64TclTk: ${{ parameters.ARM64TclTk }}
- - stage: PublishStore
- displayName: Publish to Store
- dependsOn: Pack_MSIX
+ - stage: Test_MSI
+ displayName: Test MSI installer
+ dependsOn: Build_MSI
jobs:
- - template: windows-release/stage-publish-store.yml
+ - template: windows-release/stage-test-msi.yml
+
+ - ${{ if eq(parameters.DoPublish, 'true') }}:
+ - ${{ if eq(parameters.DoMSI, 'true') }}:
+ - stage: PublishPyDotOrg
+ displayName: Publish to python.org
+ dependsOn: ['Test_MSI', 'Test']
+ jobs:
+ - template: windows-release/stage-publish-pythonorg.yml
+
+ - ${{ if eq(parameters.DoNuget, 'true') }}:
+ - stage: PublishNuget
+ displayName: Publish to nuget.org
+ ${{ if eq(parameters.DoMSI, 'true') }}:
+ dependsOn: ['Test_MSI', 'Test']
+ ${{ else }}:
+ dependsOn: 'Test'
+ jobs:
+ - template: windows-release/stage-publish-nugetorg.yml
+
+ - ${{ if eq(parameters.DoMSIX, 'true') }}:
+ - stage: PublishStore
+ displayName: Publish to Store
+ ${{ if eq(parameters.DoMSI, 'true') }}:
+ dependsOn: ['Test_MSI', 'Pack_MSIX']
+ ${{ else }}:
+ dependsOn: 'Pack_MSIX'
+ jobs:
+ - template: windows-release/stage-publish-store.yml
- ${{ else }}:
- stage: PublishExisting
displayName: Publish existing build
dependsOn: []
- condition: and(succeeded(), eq(variables['DoPublish'], 'true'))
jobs:
- - template: windows-release/stage-publish-pythonorg.yml
- parameters:
- BuildToPublish: ${{ parameters.BuildToPublish }}
+ - ${{ if eq(parameters.DoMSI, 'true') }}:
+ - template: windows-release/stage-publish-pythonorg.yml
+ parameters:
+ BuildToPublish: ${{ parameters.BuildToPublish }}
- - template: windows-release/stage-publish-nugetorg.yml
- parameters:
- BuildToPublish: ${{ parameters.BuildToPublish }}
+ - ${{ if eq(parameters.DoNuget, 'true') }}:
+ - template: windows-release/stage-publish-nugetorg.yml
+ parameters:
+ BuildToPublish: ${{ parameters.BuildToPublish }}
- - template: windows-release/stage-publish-store.yml
- parameters:
- BuildToPublish: ${{ parameters.BuildToPublish }}
+ - ${{ if eq(parameters.DoMSIX, 'true') }}:
+ - template: windows-release/stage-publish-store.yml
+ parameters:
+ BuildToPublish: ${{ parameters.BuildToPublish }}
diff --git a/.azure-pipelines/windows-release/stage-pack-nuget.yml b/.azure-pipelines/windows-release/stage-pack-nuget.yml
index 8dfea382c35..85b44e389ab 100644
--- a/.azure-pipelines/windows-release/stage-pack-nuget.yml
+++ b/.azure-pipelines/windows-release/stage-pack-nuget.yml
@@ -32,8 +32,23 @@ jobs:
inputs:
versionSpec: '>=5.0'
- - powershell: |
- nuget pack "$(Build.BinariesDirectory)\layout\python.nuspec" -OutputDirectory $(Build.ArtifactStagingDirectory) -NoPackageAnalysis -NonInteractive
+ - powershell: >
+ nuget pack
+ "$(Build.BinariesDirectory)\layout\python.nuspec"
+ -OutputDirectory $(Build.ArtifactStagingDirectory)
+ -NoPackageAnalysis
+ -NonInteractive
+ condition: and(succeeded(), not(variables['OverrideNugetVersion']))
+ displayName: 'Create nuget package'
+
+ - powershell: >
+ nuget pack
+ "$(Build.BinariesDirectory)\layout\python.nuspec"
+ -OutputDirectory $(Build.ArtifactStagingDirectory)
+ -NoPackageAnalysis
+ -NonInteractive
+ -Version "$(OverrideNugetVersion)"
+ condition: and(succeeded(), variables['OverrideNugetVersion'])
displayName: 'Create nuget package'
- powershell: |
diff --git a/.azure-pipelines/windows-release/stage-publish-nugetorg.yml b/.azure-pipelines/windows-release/stage-publish-nugetorg.yml
index a8855f0ace8..abb9d0f0fd4 100644
--- a/.azure-pipelines/windows-release/stage-publish-nugetorg.yml
+++ b/.azure-pipelines/windows-release/stage-publish-nugetorg.yml
@@ -4,7 +4,7 @@ parameters:
jobs:
- job: Publish_Nuget
displayName: Publish Nuget packages
- condition: and(succeeded(), eq(variables['DoNuget'], 'true'))
+ condition: and(succeeded(), eq(variables['DoNuget'], 'true'), ne(variables['SkipNugetPublish'], 'true'))
pool:
vmImage: windows-2022
@@ -38,7 +38,7 @@ jobs:
- powershell: 'gci pythonarm*.nupkg | %{ Write-Host "Not publishing: $($_.Name)"; gi $_ } | del'
displayName: 'Prevent publishing ARM64 packages'
workingDirectory: '$(Build.BinariesDirectory)\nuget'
- condition: and(succeeded(), eq(variables['PublishARM64'], 'true'))
+ condition: and(succeeded(), ne(variables['PublishARM64'], 'true'))
- task: NuGetCommand@2
displayName: Push packages
diff --git a/.azure-pipelines/windows-release/stage-publish-pythonorg.yml b/.azure-pipelines/windows-release/stage-publish-pythonorg.yml
index be4ef9e0cca..953f728ade3 100644
--- a/.azure-pipelines/windows-release/stage-publish-pythonorg.yml
+++ b/.azure-pipelines/windows-release/stage-publish-pythonorg.yml
@@ -4,7 +4,7 @@ parameters:
jobs:
- job: Publish_Python
displayName: Publish python.org packages
- condition: and(succeeded(), and(eq(variables['DoMSI'], 'true'), eq(variables['DoEmbed'], 'true')))
+ condition: and(succeeded(), eq(variables['DoMSI'], 'true'), eq(variables['DoEmbed'], 'true'), ne(variables['SkipPythonOrgPublish'], 'true'))
pool:
#vmImage: windows-2022
@@ -81,7 +81,7 @@ jobs:
- powershell: 'gci *embed-arm*.zip | %{ Write-Host "Not publishing: $($_.Name)"; gi $_ } | del'
displayName: 'Prevent publishing ARM64 packages'
workingDirectory: '$(Build.BinariesDirectory)\embed'
- condition: and(succeeded(), eq(variables['PublishARM64'], 'true'))
+ condition: and(succeeded(), ne(variables['PublishARM64'], 'true'))
- template: ./gpg-sign.yml
diff --git a/.azure-pipelines/windows-release/stage-publish-store.yml b/.azure-pipelines/windows-release/stage-publish-store.yml
index f3d4c80be91..0eae21edaa7 100644
--- a/.azure-pipelines/windows-release/stage-publish-store.yml
+++ b/.azure-pipelines/windows-release/stage-publish-store.yml
@@ -4,7 +4,7 @@ parameters:
jobs:
- job: Publish_Store
displayName: Publish Store packages
- condition: and(succeeded(), eq(variables['DoMSIX'], 'true'))
+ condition: and(succeeded(), eq(variables['DoMSIX'], 'true'), ne(variables['SkipMSIXPublish'], 'true'))
pool:
vmImage: windows-2022