]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
In Windows release builds, do not attempt to copy Tcl/Tk for ARM64 when it is not...
authorSteve Dower <steve.dower@python.org>
Wed, 16 Mar 2022 00:44:17 +0000 (00:44 +0000)
committerGitHub <noreply@github.com>
Wed, 16 Mar 2022 00:44:17 +0000 (00:44 +0000)
.azure-pipelines/windows-release.yml
.azure-pipelines/windows-release/msi-steps.yml
.azure-pipelines/windows-release/stage-build.yml
.azure-pipelines/windows-release/stage-layout-full.yml
.azure-pipelines/windows-release/stage-layout-msix.yml
.azure-pipelines/windows-release/stage-msi.yml

index c038ccdb8675a3089fcce4f8a0baef44519b9d4e..ae2d1b9da1321dbadd3295802000ff9e76d58a0c 100644 (file)
@@ -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
index 3c08a0660abe9dee089da0609546601b23906285..c3c2c43032c00fcaf9f40c08ff01ca138131c73d 100644 (file)
@@ -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)'
index e45034f650fb9ef2a688ee8827168d571e2e91cb..2745d79dd069cac7a40398fa69fc855763cbc240 100644 (file)
@@ -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
index 3546df60e4e032369d67608f97813adda273c96a..343ee1f73c215b8d444226cb8fb5f108d21fcc48 100644 (file)
@@ -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
index 913bfcd919704b0136b0555b0587deec0371544b..a44e1ede20326c8d682ad4be43da60678cf7cdc5 100644 (file)
@@ -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
index f14bc9a45ae38183a0372d26ff73a39edeb69fd7..0566544a6eb63ee6c47fc0354b367b502713bf5f 100644 (file)
@@ -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 }}