98 lines
3.3 KiB
YAML
98 lines
3.3 KiB
YAML
jobs:
|
|
- job: Make_MSIX_Layout
|
|
displayName: Make MSIX layout
|
|
|
|
pool:
|
|
vmImage: windows-2019
|
|
|
|
workspace:
|
|
clean: all
|
|
|
|
strategy:
|
|
matrix:
|
|
#win32:
|
|
# Name: win32
|
|
# Python: $(Build.BinariesDirectory)\bin\python.exe
|
|
# PYTHONHOME: $(Build.SourcesDirectory)
|
|
# TclLibrary: $(Build.BinariesDirectory)\tcltk_lib\tcl8
|
|
amd64:
|
|
Name: amd64
|
|
Python: $(Build.BinariesDirectory)\bin\python.exe
|
|
PYTHONHOME: $(Build.SourcesDirectory)
|
|
TclLibrary: $(Build.BinariesDirectory)\tcltk_lib\tcl8
|
|
arm64:
|
|
Name: arm64
|
|
HostArch: amd64
|
|
Python: $(Build.BinariesDirectory)\bin_amd64\python.exe
|
|
PYTHONHOME: $(Build.SourcesDirectory)
|
|
|
|
steps:
|
|
- template: ./checkout.yml
|
|
|
|
- task: DownloadPipelineArtifact@1
|
|
displayName: 'Download artifact: bin_$(Name)'
|
|
inputs:
|
|
artifactName: bin_$(Name)
|
|
targetPath: $(Build.BinariesDirectory)\bin
|
|
|
|
- task: DownloadPipelineArtifact@1
|
|
displayName: 'Download artifact: bin_$(Name)_d'
|
|
inputs:
|
|
artifactName: bin_$(Name)_d
|
|
targetPath: $(Build.BinariesDirectory)\bin
|
|
|
|
- task: DownloadPipelineArtifact@1
|
|
displayName: 'Download artifact: tcltk_lib_$(Name)'
|
|
condition: and(succeeded(), variables['TclLibrary'])
|
|
inputs:
|
|
artifactName: tcltk_lib_$(Name)
|
|
targetPath: $(Build.BinariesDirectory)\tcltk_lib
|
|
|
|
- powershell: |
|
|
copy "$(Build.BinariesDirectory)\bin\Activate.ps1" Lib\venv\scripts\common\Activate.ps1 -Force
|
|
displayName: 'Copy signed files into sources'
|
|
condition: and(succeeded(), variables['SigningCertificate'])
|
|
|
|
- template: ./layout-command.yml
|
|
|
|
- powershell: |
|
|
Remove-Item "$(Build.ArtifactStagingDirectory)\appx-store" -Recurse -Force -EA 0
|
|
$(LayoutCmd) --copy "$(Build.ArtifactStagingDirectory)\appx-store" --preset-appx --precompile
|
|
displayName: 'Generate store APPX layout'
|
|
env:
|
|
TCL_LIBRARY: $(TclLibrary)
|
|
|
|
- task: PublishPipelineArtifact@0
|
|
displayName: 'Publish Artifact: layout_appxstore_$(Name)'
|
|
inputs:
|
|
targetPath: '$(Build.ArtifactStagingDirectory)\appx-store'
|
|
artifactName: layout_appxstore_$(Name)
|
|
|
|
- task: DownloadPipelineArtifact@1
|
|
displayName: 'Download artifact: cert'
|
|
condition: and(succeeded(), variables['SigningCertificate'])
|
|
inputs:
|
|
artifactName: cert
|
|
targetPath: $(Build.BinariesDirectory)\cert
|
|
|
|
- powershell: |
|
|
$info = (gc "$(Build.BinariesDirectory)\cert\certinfo.json" | ConvertFrom-JSON)
|
|
Write-Host "Side-loadable APPX must be signed with '$($info.Subject)'"
|
|
Write-Host "##vso[task.setvariable variable=APPX_DATA_PUBLISHER]$($info.Subject)"
|
|
Write-Host "##vso[task.setvariable variable=APPX_DATA_SHA256]$($info.SHA256)"
|
|
displayName: 'Override signing parameters'
|
|
condition: and(succeeded(), variables['SigningCertificate'])
|
|
|
|
- powershell: |
|
|
Remove-Item "$(Build.ArtifactStagingDirectory)\appx" -Recurse -Force -EA 0
|
|
$(LayoutCmd) --copy "$(Build.ArtifactStagingDirectory)\appx" --preset-appx --precompile --include-symbols --include-tests
|
|
displayName: 'Generate sideloading APPX layout'
|
|
env:
|
|
TCL_LIBRARY: $(TclLibrary)
|
|
|
|
- task: PublishPipelineArtifact@0
|
|
displayName: 'Publish Artifact: layout_appx_$(Name)'
|
|
inputs:
|
|
targetPath: '$(Build.ArtifactStagingDirectory)\appx'
|
|
artifactName: layout_appx_$(Name)
|