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"
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

View 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)'

View 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

View 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

View 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

View 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 }}