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)