Staging
v0.5.1
https://github.com/python/cpython
Raw File
Tip revision: 34214de6ab9ebcb5d63d0e116800d5ee535a38cb authored by Ɓukasz Langa on 01 October 2019, 12:58:26 UTC
v3.8.0rc1
Tip revision: 34214de
msi-steps.yml
steps:
  - template: ./checkout.yml

  - task: DownloadPipelineArtifact@1
    displayName: 'Download artifact: doc'
    inputs:
      artifactName: doc
      targetPath: $(Build.BinariesDirectory)\doc

  - task: CopyFiles@2
    displayName: 'Merge documentation files'
    inputs:
      sourceFolder: $(Build.BinariesDirectory)\doc
      targetFolder: $(Build.SourcesDirectory)\Doc\build
      contents: |
        htmlhelp\*.chm

  - task: DownloadPipelineArtifact@1
    displayName: 'Download artifact: bin_win32'
    inputs:
      artifactName: bin_win32
      targetPath: $(Build.BinariesDirectory)\win32

  - task: DownloadPipelineArtifact@1
    displayName: 'Download artifact: bin_win32_d'
    inputs:
      artifactName: bin_win32_d
      targetPath: $(Build.BinariesDirectory)\win32

  - task: DownloadPipelineArtifact@1
    displayName: 'Download artifact: bin_amd64'
    inputs:
      artifactName: bin_amd64
      targetPath: $(Build.BinariesDirectory)\amd64

  - task: DownloadPipelineArtifact@1
    displayName: 'Download artifact: bin_amd64_d'
    inputs:
      artifactName: bin_amd64_d
      targetPath: $(Build.BinariesDirectory)\amd64

  - task: DownloadPipelineArtifact@1
    displayName: 'Download artifact: tcltk_lib_win32'
    inputs:
      artifactName: tcltk_lib_win32
      targetPath: $(Build.BinariesDirectory)\tcltk_lib_win32

  - task: DownloadPipelineArtifact@1
    displayName: 'Download artifact: tcltk_lib_amd64'
    inputs:
      artifactName: tcltk_lib_amd64
      targetPath: $(Build.BinariesDirectory)\tcltk_lib_amd64

  - powershell: |
      copy $(Build.BinariesDirectory)\amd64\Activate.ps1 Lib\venv\scripts\common\Activate.ps1 -Force
    displayName: 'Copy signed files into sources'

  - script: |
      call Tools\msi\get_externals.bat
      call PCbuild\find_python.bat
      echo ##vso[task.setvariable variable=PYTHON]%PYTHON%
      call PCbuild/find_msbuild.bat
      echo ##vso[task.setvariable variable=MSBUILD]%MSBUILD%
    displayName: 'Get external dependencies'

  - script: |
      %PYTHON% -m pip install blurb
      %PYTHON% -m blurb merge -f Misc\NEWS
    displayName: 'Merge NEWS file'

  - script: |
      %MSBUILD% Tools\msi\launcher\launcher.wixproj
    displayName: 'Build launcher installer'
    env:
      Platform: x86
      Py_OutDir: $(Build.BinariesDirectory)

  - script: |
      %MSBUILD% Tools\msi\bundle\releaselocal.wixproj /t:Rebuild /p:RebuildAll=true
      %MSBUILD% Tools\msi\bundle\releaseweb.wixproj /t:Rebuild /p:RebuildAll=false
    displayName: 'Build win32 installer'
    env:
      Platform: x86
      Py_OutDir: $(Build.BinariesDirectory)
      PYTHON: $(Build.BinariesDirectory)\win32\python.exe
      PYTHONHOME: $(Build.SourcesDirectory)
      TclTkLibraryDir: $(Build.BinariesDirectory)\tcltk_lib_win32
      BuildForRelease: true
      SuppressMinGWLib: true

  - script: |
      %MSBUILD% Tools\msi\bundle\releaselocal.wixproj /t:Rebuild /p:RebuildAll=true
      %MSBUILD% Tools\msi\bundle\releaseweb.wixproj /t:Rebuild /p:RebuildAll=false
    displayName: 'Build amd64 installer'
    env:
      Platform: x64
      Py_OutDir: $(Build.BinariesDirectory)
      PYTHON: $(Build.BinariesDirectory)\amd64\python.exe
      PYTHONHOME: $(Build.SourcesDirectory)
      TclTkLibraryDir: $(Build.BinariesDirectory)\tcltk_lib_amd64
      BuildForRelease: true
      SuppressMinGWLib: true

  - task: CopyFiles@2
    displayName: 'Assemble artifact: msi (1/2)'
    inputs:
      sourceFolder: $(Build.BinariesDirectory)\win32\en-us
      targetFolder: $(Build.ArtifactStagingDirectory)\msi\win32
      contents: |
        *.msi
        *.cab
        *.exe

  - task: CopyFiles@2
    displayName: 'Assemble artifact: msi (2/2)'
    inputs:
      sourceFolder: $(Build.BinariesDirectory)\amd64\en-us
      targetFolder: $(Build.ArtifactStagingDirectory)\msi\amd64
      contents: |
        *.msi
        *.cab
        *.exe

  - task: PublishPipelineArtifact@0
    displayName: 'Publish MSI'
    inputs:
      targetPath: '$(Build.ArtifactStagingDirectory)\msi'
      artifactName: msi
back to top