180 lines
3.9 KiB
YAML
180 lines
3.9 KiB
YAML
jobs:
|
|
- job: Build_Docs
|
|
displayName: Docs build
|
|
pool:
|
|
name: 'Windows Release'
|
|
#vmImage: windows-2019
|
|
|
|
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:
|
|
vmImage: windows-2019
|
|
|
|
workspace:
|
|
clean: all
|
|
|
|
strategy:
|
|
matrix:
|
|
win32:
|
|
Name: win32
|
|
Arch: win32
|
|
Platform: x86
|
|
Configuration: Release
|
|
_HostPython: .\python
|
|
win32_d:
|
|
Name: win32_d
|
|
Arch: win32
|
|
Platform: x86
|
|
Configuration: Debug
|
|
_HostPython: .\python
|
|
amd64_d:
|
|
Name: amd64_d
|
|
Arch: amd64
|
|
Platform: x64
|
|
Configuration: Debug
|
|
_HostPython: .\python
|
|
arm64:
|
|
Name: arm64
|
|
Arch: arm64
|
|
Platform: ARM64
|
|
Configuration: Release
|
|
_HostPython: python
|
|
arm64_d:
|
|
Name: arm64_d
|
|
Arch: arm64
|
|
Platform: ARM64
|
|
Configuration: Debug
|
|
_HostPython: python
|
|
|
|
steps:
|
|
- template: ./build-steps.yml
|
|
|
|
- job: Build_Python_NonPGO
|
|
displayName: Python non-PGO build
|
|
condition: and(succeeded(), ne(variables['DoPGO'], 'true'))
|
|
|
|
pool:
|
|
vmImage: windows-2019
|
|
|
|
workspace:
|
|
clean: all
|
|
|
|
strategy:
|
|
matrix:
|
|
amd64:
|
|
Name: amd64
|
|
Arch: amd64
|
|
Platform: x64
|
|
Configuration: Release
|
|
_HostPython: .\python
|
|
|
|
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
|
|
_HostPython: .\python
|
|
|
|
steps:
|
|
- template: ./build-steps.yml
|
|
parameters:
|
|
ShouldPGO: true
|
|
|
|
|
|
- job: TclTk_Lib
|
|
displayName: Publish Tcl/Tk Library
|
|
|
|
pool:
|
|
vmImage: windows-2019
|
|
|
|
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
|