Staging
v0.5.1
https://github.com/python/cpython
Raw File
Tip revision: d93605de7232da5e6a182fd1d5c220639e900159 authored by Ɓukasz Langa on 29 August 2019, 21:59:20 UTC
Python 3.8.0b4
Tip revision: d93605d
stage-layout-msix.yml
jobs:
- job: Make_MSIX_Layout
  displayName: Make MSIX layout

  pool:
    vmName: win2016-vs2017

  workspace:
    clean: all

  strategy:
    matrix:
      #win32:
      #  Name: win32
      #  Python: $(Build.BinariesDirectory)\bin_$(Name)\python.exe
      #  PYTHONHOME: $(Build.SourcesDirectory)
      amd64:
        Name: amd64
        Python: $(Build.BinariesDirectory)\bin_$(Name)\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)'
    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'

  - 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: $(Build.BinariesDirectory)\tcltk_lib\tcl8

  - 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: $(Build.BinariesDirectory)\tcltk_lib\tcl8

  - task: PublishPipelineArtifact@0
    displayName: 'Publish Artifact: layout_appx_$(Name)'
    inputs:
      targetPath: '$(Build.ArtifactStagingDirectory)\appx'
      artifactName: layout_appx_$(Name)
back to top