| jobs: |
| - job: Build_Docs |
| displayName: Docs build |
| pool: |
| name: 'Windows Release' |
| #vmName: win2016-vs2017 |
| |
| workspace: |
| clean: all |
| |
| steps: |
| - template: ./checkout.yml |
| |
| - script: Doc\make.bat html |
| displayName: 'Build HTML docs' |
| env: |
| BUILDDIR: $(Build.BinariesDirectory)\Doc |
| |
| - script: Doc\make.bat htmlhelp |
| displayName: 'Build CHM docs' |
| env: |
| BUILDDIR: $(Build.BinariesDirectory)\Doc |
| |
| #- powershell: | |
| # mkdir -Force "$(Build.BinariesDirectory)\Doc\htmlhelp" |
| # iwr "https://www.python.org/ftp/python/3.8.0/python380.chm" -OutFile "$(Build.BinariesDirectory)\Doc\htmlhelp\python390a0.chm" |
| # displayName: 'Cheat at building CHM docs' |
| |
| - task: CopyFiles@2 |
| displayName: 'Assemble artifact: Doc' |
| inputs: |
| sourceFolder: $(Build.BinariesDirectory)\Doc |
| targetFolder: $(Build.ArtifactStagingDirectory)\Doc |
| contents: | |
| html\**\* |
| htmlhelp\*.chm |
| |
| - task: PublishPipelineArtifact@0 |
| displayName: 'Publish artifact: doc' |
| inputs: |
| targetPath: $(Build.ArtifactStagingDirectory)\Doc |
| artifactName: doc |
| |
| - job: Build_Python |
| displayName: Python build |
| |
| pool: |
| vmName: win2016-vs2017 |
| |
| workspace: |
| clean: all |
| |
| strategy: |
| matrix: |
| win32: |
| Name: win32 |
| Arch: win32 |
| Platform: x86 |
| Configuration: Release |
| win32_d: |
| Name: win32_d |
| Arch: win32 |
| Platform: x86 |
| Configuration: Debug |
| amd64_d: |
| Name: amd64_d |
| Arch: amd64 |
| Platform: x64 |
| Configuration: Debug |
| arm64: |
| Name: arm64 |
| Arch: arm64 |
| Platform: ARM64 |
| Configuration: Release |
| arm64_d: |
| Name: arm64_d |
| Arch: arm64 |
| Platform: ARM64 |
| Configuration: Debug |
| |
| steps: |
| - template: ./build-steps.yml |
| |
| - job: Build_Python_NonPGO |
| displayName: Python non-PGO build |
| condition: and(succeeded(), ne(variables['DoPGO'], 'true')) |
| |
| pool: |
| vmName: win2016-vs2017 |
| |
| workspace: |
| clean: all |
| |
| strategy: |
| matrix: |
| amd64: |
| Name: amd64 |
| Arch: amd64 |
| Platform: x64 |
| Configuration: Release |
| |
| steps: |
| - template: ./build-steps.yml |
| |
| |
| - job: Build_Python_PGO |
| displayName: Python PGO build |
| condition: and(succeeded(), eq(variables['DoPGO'], 'true')) |
| |
| # Allow up to five hours for PGO |
| timeoutInMinutes: 300 |
| |
| pool: |
| name: 'Windows Release' |
| |
| workspace: |
| clean: all |
| |
| strategy: |
| matrix: |
| amd64: |
| Name: amd64 |
| Arch: amd64 |
| Platform: x64 |
| Configuration: Release |
| |
| steps: |
| - template: ./build-steps.yml |
| parameters: |
| ShouldPGO: true |
| |
| |
| - job: TclTk_Lib |
| displayName: Publish Tcl/Tk Library |
| |
| pool: |
| vmName: windows-latest |
| |
| workspace: |
| clean: all |
| |
| steps: |
| - template: ./checkout.yml |
| |
| - script: PCbuild\get_externals.bat --no-openssl --no-libffi |
| displayName: 'Get external dependencies' |
| |
| - task: MSBuild@1 |
| displayName: 'Copy Tcl/Tk lib for publish' |
| inputs: |
| solution: PCbuild\tcltk.props |
| platform: x86 |
| msbuildArguments: /t:CopyTclTkLib /p:OutDir="$(Build.ArtifactStagingDirectory)\tcl_win32" |
| |
| - task: MSBuild@1 |
| displayName: 'Copy Tcl/Tk lib for publish' |
| inputs: |
| solution: PCbuild\tcltk.props |
| platform: x64 |
| msbuildArguments: /t:CopyTclTkLib /p:OutDir="$(Build.ArtifactStagingDirectory)\tcl_amd64" |
| |
| - task: PublishPipelineArtifact@0 |
| displayName: 'Publish artifact: tcltk_lib_win32' |
| inputs: |
| targetPath: '$(Build.ArtifactStagingDirectory)\tcl_win32' |
| artifactName: tcltk_lib_win32 |
| |
| - task: PublishPipelineArtifact@0 |
| displayName: 'Publish artifact: tcltk_lib_amd64' |
| inputs: |
| targetPath: '$(Build.ArtifactStagingDirectory)\tcl_amd64' |
| artifactName: tcltk_lib_amd64 |