In Windows release builds, do not attempt to copy Tcl/Tk for ARM64 when it is not being published (GH-31918)

This commit is contained in:
Steve Dower 2022-03-16 00:44:17 +00:00 committed by GitHub
parent 49e1e1e1bd
commit cb495a1e9f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 61 additions and 20 deletions

View file

@ -38,6 +38,14 @@ parameters:
displayName: "Publish ARM64 build" displayName: "Publish ARM64 build"
type: boolean type: boolean
default: true 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 - name: DoPGO
displayName: "Run PGO" displayName: "Run PGO"
type: boolean type: boolean
@ -98,6 +106,8 @@ stages:
displayName: Build binaries displayName: Build binaries
jobs: jobs:
- template: windows-release/stage-build.yml - template: windows-release/stage-build.yml
parameters:
ARM64TclTk: ${{ parameters.ARM64TclTk }}
- stage: Sign - stage: Sign
displayName: Sign binaries displayName: Sign binaries
@ -110,6 +120,8 @@ stages:
dependsOn: Sign dependsOn: Sign
jobs: jobs:
- template: windows-release/stage-layout-full.yml - template: windows-release/stage-layout-full.yml
parameters:
ARM64TclTk: ${{ parameters.ARM64TclTk }}
- template: windows-release/stage-layout-embed.yml - template: windows-release/stage-layout-embed.yml
- template: windows-release/stage-layout-nuget.yml - template: windows-release/stage-layout-nuget.yml
@ -130,6 +142,8 @@ stages:
condition: and(succeeded(), eq(variables['DoMSIX'], 'true')) condition: and(succeeded(), eq(variables['DoMSIX'], 'true'))
jobs: jobs:
- template: windows-release/stage-layout-msix.yml - template: windows-release/stage-layout-msix.yml
parameters:
ARM64TclTk: ${{ parameters.ARM64TclTk }}
- stage: Pack_MSIX - stage: Pack_MSIX
displayName: Package MSIX displayName: Package MSIX
@ -143,6 +157,8 @@ stages:
condition: and(succeeded(), eq(variables['DoMSI'], 'true')) condition: and(succeeded(), eq(variables['DoMSI'], 'true'))
jobs: jobs:
- template: windows-release/stage-msi.yml - template: windows-release/stage-msi.yml
parameters:
ARM64TclTk: ${{ parameters.ARM64TclTk }}
- stage: Test_MSI - stage: Test_MSI
displayName: Test MSI installer displayName: Test MSI installer

View file

@ -1,3 +1,6 @@
parameters:
ARM64TclTk: true
steps: steps:
- template: ./checkout.yml - template: ./checkout.yml
@ -71,6 +74,7 @@ steps:
artifactName: tcltk_lib_amd64 artifactName: tcltk_lib_amd64
targetPath: $(Build.BinariesDirectory)\tcltk_lib_amd64 targetPath: $(Build.BinariesDirectory)\tcltk_lib_amd64
- ${{ if eq(parameters.ARM64TclTk, true) }}:
- task: DownloadPipelineArtifact@1 - task: DownloadPipelineArtifact@1
displayName: 'Download artifact: tcltk_lib_arm64' displayName: 'Download artifact: tcltk_lib_arm64'
condition: and(succeeded(), eq(variables['PublishARM64'], 'true')) condition: and(succeeded(), eq(variables['PublishARM64'], 'true'))
@ -137,8 +141,9 @@ steps:
PYTHON: $(Build.BinariesDirectory)\win32\python.exe PYTHON: $(Build.BinariesDirectory)\win32\python.exe
PythonForBuild: $(Build.BinariesDirectory)\win32\python.exe PythonForBuild: $(Build.BinariesDirectory)\win32\python.exe
PYTHONHOME: $(Build.SourcesDirectory) PYTHONHOME: $(Build.SourcesDirectory)
TclTkLibraryDir: $(Build.BinariesDirectory)\tcltk_lib_arm64
BuildForRelease: true BuildForRelease: true
${{ if eq(parameters.ARM64TclTk, true) }}:
TclTkLibraryDir: $(Build.BinariesDirectory)\tcltk_lib_arm64
- task: CopyFiles@2 - task: CopyFiles@2
displayName: 'Assemble artifact: msi (win32)' displayName: 'Assemble artifact: msi (win32)'

View file

@ -1,3 +1,6 @@
parameters:
ARM64TclTk: true
jobs: jobs:
- job: Build_Docs - job: Build_Docs
displayName: Docs build displayName: Docs build
@ -166,6 +169,7 @@ jobs:
platform: x64 platform: x64
msbuildArguments: /t:CopyTclTkLib /p:OutDir="$(Build.ArtifactStagingDirectory)\tcl_amd64" msbuildArguments: /t:CopyTclTkLib /p:OutDir="$(Build.ArtifactStagingDirectory)\tcl_amd64"
- ${{ if eq(parameters.ARM64TclTk, true) }}:
- task: MSBuild@1 - task: MSBuild@1
displayName: 'Copy Tcl/Tk lib for publish' displayName: 'Copy Tcl/Tk lib for publish'
inputs: inputs:
@ -185,6 +189,7 @@ jobs:
targetPath: '$(Build.ArtifactStagingDirectory)\tcl_amd64' targetPath: '$(Build.ArtifactStagingDirectory)\tcl_amd64'
artifactName: tcltk_lib_amd64 artifactName: tcltk_lib_amd64
- ${{ if eq(parameters.ARM64TclTk, true) }}:
- task: PublishPipelineArtifact@0 - task: PublishPipelineArtifact@0
displayName: 'Publish artifact: tcltk_lib_arm64' displayName: 'Publish artifact: tcltk_lib_arm64'
inputs: inputs:

View file

@ -1,3 +1,6 @@
parameters:
ARM64TclTk: true
jobs: jobs:
- job: Make_Layouts - job: Make_Layouts
displayName: Make layouts displayName: Make layouts
@ -26,6 +29,7 @@ jobs:
HostArch: amd64 HostArch: amd64
Python: $(Build.BinariesDirectory)\bin_amd64\python.exe Python: $(Build.BinariesDirectory)\bin_amd64\python.exe
PYTHONHOME: $(Build.SourcesDirectory) PYTHONHOME: $(Build.SourcesDirectory)
${{ if eq(parameters.ARM64TclTk, true) }}:
TclLibrary: $(Build.BinariesDirectory)\tcltk_lib\tcl8 TclLibrary: $(Build.BinariesDirectory)\tcltk_lib\tcl8
steps: steps:

View file

@ -1,3 +1,6 @@
parameters:
ARM64TclTk: true
jobs: jobs:
- job: Make_MSIX_Layout - job: Make_MSIX_Layout
displayName: Make MSIX layout displayName: Make MSIX layout
@ -25,6 +28,7 @@ jobs:
HostArch: amd64 HostArch: amd64
Python: $(Build.BinariesDirectory)\bin_amd64\python.exe Python: $(Build.BinariesDirectory)\bin_amd64\python.exe
PYTHONHOME: $(Build.SourcesDirectory) PYTHONHOME: $(Build.SourcesDirectory)
${{ if eq(parameters.ARM64TclTk, true) }}:
TclLibrary: $(Build.BinariesDirectory)\tcltk_lib\tcl8 TclLibrary: $(Build.BinariesDirectory)\tcltk_lib\tcl8
steps: steps:

View file

@ -1,3 +1,6 @@
parameters:
ARM64TclTk: true
jobs: jobs:
- job: Make_MSI - job: Make_MSI
displayName: Make MSI displayName: Make MSI
@ -16,6 +19,8 @@ jobs:
steps: steps:
- template: msi-steps.yml - template: msi-steps.yml
parameters:
ARM64TclTk: ${{ parameters.ARM64TclTk }}
- job: Make_Signed_MSI - job: Make_Signed_MSI
displayName: Make signed MSI displayName: Make signed MSI
@ -34,3 +39,5 @@ jobs:
steps: steps:
- template: msi-steps.yml - template: msi-steps.yml
parameters:
ARM64TclTk: ${{ parameters.ARM64TclTk }}