Staging
v0.5.1
https://github.com/python/cpython
Raw File
Tip revision: 21ca80eef44bbfb0de4bd4c3032873d36bf7c37f authored by Ethan Furman on 08 December 2020, 21:28:47 UTC
[3.8] [Enum] reformat and add doc strings (GH-23705). (GH-23706)
Tip revision: 21ca80e
msi-steps.yml
steps:
  - template: ./checkout.yml

  - powershell: |
      $d = (.\PCbuild\build.bat -V) | %{ if($_ -match '\s+(\w+):\s*(.+)\s*$') { @{$Matches[1] = $Matches[2];} }};
      Write-Host "##vso[task.setvariable variable=SigningDescription]Python $($d.PythonVersion)"
    displayName: 'Update signing description'
    condition: and(succeeded(), not(variables['SigningDescription']))

  - 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'
    condition: and(succeeded(), variables['SigningCertificate'])

  - 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