aboutsummaryrefslogtreecommitdiff
path: root/.azure-pipelines
diff options
context:
space:
mode:
authorSteve Dower <steve.dower@python.org>2022-03-16 00:44:17 +0000
committerGitHub <noreply@github.com>2022-03-16 00:44:17 +0000
commitcb495a1e9f3acfcd8cb94a6b89c79d0909e3383f (patch)
tree6ac8f523ef762b503439f7196daaebae2d7bd5bc /.azure-pipelines
parent49e1e1e1bd59cac1855b1ef4dec05d649ebcd81a (diff)
downloadcpython3-cb495a1e9f3acfcd8cb94a6b89c79d0909e3383f.tar.gz
In Windows release builds, do not attempt to copy Tcl/Tk for ARM64 when it is not being published (GH-31918)
Diffstat (limited to '.azure-pipelines')
-rw-r--r--.azure-pipelines/windows-release.yml16
-rw-r--r--.azure-pipelines/windows-release/msi-steps.yml19
-rw-r--r--.azure-pipelines/windows-release/stage-build.yml27
-rw-r--r--.azure-pipelines/windows-release/stage-layout-full.yml6
-rw-r--r--.azure-pipelines/windows-release/stage-layout-msix.yml6
-rw-r--r--.azure-pipelines/windows-release/stage-msi.yml7
6 files changed, 61 insertions, 20 deletions
diff --git a/.azure-pipelines/windows-release.yml b/.azure-pipelines/windows-release.yml
index c038ccdb86..ae2d1b9da1 100644
--- a/.azure-pipelines/windows-release.yml
+++ b/.azure-pipelines/windows-release.yml
@@ -38,6 +38,14 @@ parameters:
displayName: "Publish ARM64 build"
type: boolean
default: true
+# Because there is no ARM64 Tcl/Tk pre-3.11, we need a separate option
+# to keep those builds working when the files are going to be absent.
+# Eventually when we stop releasing anything that old, we can drop this
+# argument (and make it implicitly always 'true')
+- name: ARM64TclTk
+ displayName: "Use Tcl/Tk for ARM64"
+ type: boolean
+ default: true
- name: DoPGO
displayName: "Run PGO"
type: boolean
@@ -98,6 +106,8 @@ stages:
displayName: Build binaries
jobs:
- template: windows-release/stage-build.yml
+ parameters:
+ ARM64TclTk: ${{ parameters.ARM64TclTk }}
- stage: Sign
displayName: Sign binaries
@@ -110,6 +120,8 @@ stages:
dependsOn: Sign
jobs:
- template: windows-release/stage-layout-full.yml
+ parameters:
+ ARM64TclTk: ${{ parameters.ARM64TclTk }}
- template: windows-release/stage-layout-embed.yml
- template: windows-release/stage-layout-nuget.yml
@@ -130,6 +142,8 @@ stages:
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
@@ -143,6 +157,8 @@ stages:
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
diff --git a/.azure-pipelines/windows-release/msi-steps.yml b/.azure-pipelines/windows-release/msi-steps.yml
index 3c08a0660a..c3c2c43032 100644
--- a/.azure-pipelines/windows-release/msi-steps.yml
+++ b/.azure-pipelines/windows-release/msi-steps.yml
@@ -1,3 +1,6 @@
+parameters:
+ ARM64TclTk: true
+
steps:
- template: ./checkout.yml
@@ -71,12 +74,13 @@ steps:
artifactName: tcltk_lib_amd64
targetPath: $(Build.BinariesDirectory)\tcltk_lib_amd64
- - task: DownloadPipelineArtifact@1
- displayName: 'Download artifact: tcltk_lib_arm64'
- condition: and(succeeded(), eq(variables['PublishARM64'], 'true'))
- inputs:
- artifactName: tcltk_lib_arm64
- targetPath: $(Build.BinariesDirectory)\tcltk_lib_arm64
+ - ${{ if eq(parameters.ARM64TclTk, true) }}:
+ - task: DownloadPipelineArtifact@1
+ displayName: 'Download artifact: tcltk_lib_arm64'
+ condition: and(succeeded(), eq(variables['PublishARM64'], 'true'))
+ inputs:
+ artifactName: tcltk_lib_arm64
+ targetPath: $(Build.BinariesDirectory)\tcltk_lib_arm64
- powershell: |
copy $(Build.BinariesDirectory)\amd64\Activate.ps1 Lib\venv\scripts\common\Activate.ps1 -Force
@@ -137,8 +141,9 @@ steps:
PYTHON: $(Build.BinariesDirectory)\win32\python.exe
PythonForBuild: $(Build.BinariesDirectory)\win32\python.exe
PYTHONHOME: $(Build.SourcesDirectory)
- TclTkLibraryDir: $(Build.BinariesDirectory)\tcltk_lib_arm64
BuildForRelease: true
+ ${{ if eq(parameters.ARM64TclTk, true) }}:
+ TclTkLibraryDir: $(Build.BinariesDirectory)\tcltk_lib_arm64
- task: CopyFiles@2
displayName: 'Assemble artifact: msi (win32)'
diff --git a/.azure-pipelines/windows-release/stage-build.yml b/.azure-pipelines/windows-release/stage-build.yml
index e45034f650..2745d79dd0 100644
--- a/.azure-pipelines/windows-release/stage-build.yml
+++ b/.azure-pipelines/windows-release/stage-build.yml
@@ -1,3 +1,6 @@
+parameters:
+ ARM64TclTk: true
+
jobs:
- job: Build_Docs
displayName: Docs build
@@ -166,12 +169,13 @@ jobs:
platform: x64
msbuildArguments: /t:CopyTclTkLib /p:OutDir="$(Build.ArtifactStagingDirectory)\tcl_amd64"
- - task: MSBuild@1
- displayName: 'Copy Tcl/Tk lib for publish'
- inputs:
- solution: PCbuild\tcltk.props
- platform: ARM64
- msbuildArguments: /t:CopyTclTkLib /p:OutDir="$(Build.ArtifactStagingDirectory)\tcl_arm64"
+ - ${{ if eq(parameters.ARM64TclTk, true) }}:
+ - task: MSBuild@1
+ displayName: 'Copy Tcl/Tk lib for publish'
+ inputs:
+ solution: PCbuild\tcltk.props
+ platform: ARM64
+ msbuildArguments: /t:CopyTclTkLib /p:OutDir="$(Build.ArtifactStagingDirectory)\tcl_arm64"
- task: PublishPipelineArtifact@0
displayName: 'Publish artifact: tcltk_lib_win32'
@@ -185,8 +189,9 @@ jobs:
targetPath: '$(Build.ArtifactStagingDirectory)\tcl_amd64'
artifactName: tcltk_lib_amd64
- - task: PublishPipelineArtifact@0
- displayName: 'Publish artifact: tcltk_lib_arm64'
- inputs:
- targetPath: '$(Build.ArtifactStagingDirectory)\tcl_arm64'
- artifactName: tcltk_lib_arm64
+ - ${{ if eq(parameters.ARM64TclTk, true) }}:
+ - task: PublishPipelineArtifact@0
+ displayName: 'Publish artifact: tcltk_lib_arm64'
+ inputs:
+ targetPath: '$(Build.ArtifactStagingDirectory)\tcl_arm64'
+ artifactName: tcltk_lib_arm64
diff --git a/.azure-pipelines/windows-release/stage-layout-full.yml b/.azure-pipelines/windows-release/stage-layout-full.yml
index 3546df60e4..343ee1f73c 100644
--- a/.azure-pipelines/windows-release/stage-layout-full.yml
+++ b/.azure-pipelines/windows-release/stage-layout-full.yml
@@ -1,3 +1,6 @@
+parameters:
+ ARM64TclTk: true
+
jobs:
- job: Make_Layouts
displayName: Make layouts
@@ -26,7 +29,8 @@ jobs:
HostArch: amd64
Python: $(Build.BinariesDirectory)\bin_amd64\python.exe
PYTHONHOME: $(Build.SourcesDirectory)
- TclLibrary: $(Build.BinariesDirectory)\tcltk_lib\tcl8
+ ${{ if eq(parameters.ARM64TclTk, true) }}:
+ TclLibrary: $(Build.BinariesDirectory)\tcltk_lib\tcl8
steps:
- template: ./checkout.yml
diff --git a/.azure-pipelines/windows-release/stage-layout-msix.yml b/.azure-pipelines/windows-release/stage-layout-msix.yml
index 913bfcd919..a44e1ede20 100644
--- a/.azure-pipelines/windows-release/stage-layout-msix.yml
+++ b/.azure-pipelines/windows-release/stage-layout-msix.yml
@@ -1,3 +1,6 @@
+parameters:
+ ARM64TclTk: true
+
jobs:
- job: Make_MSIX_Layout
displayName: Make MSIX layout
@@ -25,7 +28,8 @@ jobs:
HostArch: amd64
Python: $(Build.BinariesDirectory)\bin_amd64\python.exe
PYTHONHOME: $(Build.SourcesDirectory)
- TclLibrary: $(Build.BinariesDirectory)\tcltk_lib\tcl8
+ ${{ if eq(parameters.ARM64TclTk, true) }}:
+ TclLibrary: $(Build.BinariesDirectory)\tcltk_lib\tcl8
steps:
- template: ./checkout.yml
diff --git a/.azure-pipelines/windows-release/stage-msi.yml b/.azure-pipelines/windows-release/stage-msi.yml
index f14bc9a45a..0566544a6e 100644
--- a/.azure-pipelines/windows-release/stage-msi.yml
+++ b/.azure-pipelines/windows-release/stage-msi.yml
@@ -1,3 +1,6 @@
+parameters:
+ ARM64TclTk: true
+
jobs:
- job: Make_MSI
displayName: Make MSI
@@ -16,6 +19,8 @@ jobs:
steps:
- template: msi-steps.yml
+ parameters:
+ ARM64TclTk: ${{ parameters.ARM64TclTk }}
- job: Make_Signed_MSI
displayName: Make signed MSI
@@ -34,3 +39,5 @@ jobs:
steps:
- template: msi-steps.yml
+ parameters:
+ ARM64TclTk: ${{ parameters.ARM64TclTk }}