1jobs: 2- job: Build_Docs 3 displayName: Docs build 4 pool: 5 name: 'Windows Release' 6 #vmImage: windows-2019 7 8 workspace: 9 clean: all 10 11 steps: 12 - template: ./checkout.yml 13 14 - script: Doc\make.bat html 15 displayName: 'Build HTML docs' 16 env: 17 BUILDDIR: $(Build.BinariesDirectory)\Doc 18 19 - script: Doc\make.bat htmlhelp 20 displayName: 'Build CHM docs' 21 env: 22 BUILDDIR: $(Build.BinariesDirectory)\Doc 23 24 #- powershell: | 25 # mkdir -Force "$(Build.BinariesDirectory)\Doc\htmlhelp" 26 # iwr "https://www.python.org/ftp/python/3.8.0/python380.chm" -OutFile "$(Build.BinariesDirectory)\Doc\htmlhelp\python390a0.chm" 27 # displayName: 'Cheat at building CHM docs' 28 29 - task: CopyFiles@2 30 displayName: 'Assemble artifact: Doc' 31 inputs: 32 sourceFolder: $(Build.BinariesDirectory)\Doc 33 targetFolder: $(Build.ArtifactStagingDirectory)\Doc 34 contents: | 35 html\**\* 36 htmlhelp\*.chm 37 38 - task: PublishPipelineArtifact@0 39 displayName: 'Publish artifact: doc' 40 inputs: 41 targetPath: $(Build.ArtifactStagingDirectory)\Doc 42 artifactName: doc 43 44- job: Build_Python 45 displayName: Python build 46 47 pool: 48 vmImage: windows-2019 49 50 workspace: 51 clean: all 52 53 strategy: 54 matrix: 55 win32: 56 Name: win32 57 Arch: win32 58 Platform: x86 59 Configuration: Release 60 _HostPython: .\python 61 win32_d: 62 Name: win32_d 63 Arch: win32 64 Platform: x86 65 Configuration: Debug 66 _HostPython: .\python 67 amd64_d: 68 Name: amd64_d 69 Arch: amd64 70 Platform: x64 71 Configuration: Debug 72 _HostPython: .\python 73 arm64: 74 Name: arm64 75 Arch: arm64 76 Platform: ARM64 77 Configuration: Release 78 _HostPython: python 79 arm64_d: 80 Name: arm64_d 81 Arch: arm64 82 Platform: ARM64 83 Configuration: Debug 84 _HostPython: python 85 86 steps: 87 - template: ./build-steps.yml 88 89- job: Build_Python_NonPGO 90 displayName: Python non-PGO build 91 condition: and(succeeded(), ne(variables['DoPGO'], 'true')) 92 93 pool: 94 vmImage: windows-2019 95 96 workspace: 97 clean: all 98 99 strategy: 100 matrix: 101 amd64: 102 Name: amd64 103 Arch: amd64 104 Platform: x64 105 Configuration: Release 106 _HostPython: .\python 107 108 steps: 109 - template: ./build-steps.yml 110 111 112- job: Build_Python_PGO 113 displayName: Python PGO build 114 condition: and(succeeded(), eq(variables['DoPGO'], 'true')) 115 116 # Allow up to five hours for PGO 117 timeoutInMinutes: 300 118 119 pool: 120 name: 'Windows Release' 121 122 workspace: 123 clean: all 124 125 strategy: 126 matrix: 127 amd64: 128 Name: amd64 129 Arch: amd64 130 Platform: x64 131 Configuration: Release 132 _HostPython: .\python 133 134 steps: 135 - template: ./build-steps.yml 136 parameters: 137 ShouldPGO: true 138 139 140- job: TclTk_Lib 141 displayName: Publish Tcl/Tk Library 142 143 pool: 144 vmImage: windows-2019 145 146 workspace: 147 clean: all 148 149 steps: 150 - template: ./checkout.yml 151 152 - script: PCbuild\get_externals.bat --no-openssl --no-libffi 153 displayName: 'Get external dependencies' 154 155 - task: MSBuild@1 156 displayName: 'Copy Tcl/Tk lib for publish' 157 inputs: 158 solution: PCbuild\tcltk.props 159 platform: x86 160 msbuildArguments: /t:CopyTclTkLib /p:OutDir="$(Build.ArtifactStagingDirectory)\tcl_win32" 161 162 - task: MSBuild@1 163 displayName: 'Copy Tcl/Tk lib for publish' 164 inputs: 165 solution: PCbuild\tcltk.props 166 platform: x64 167 msbuildArguments: /t:CopyTclTkLib /p:OutDir="$(Build.ArtifactStagingDirectory)\tcl_amd64" 168 169 - task: PublishPipelineArtifact@0 170 displayName: 'Publish artifact: tcltk_lib_win32' 171 inputs: 172 targetPath: '$(Build.ArtifactStagingDirectory)\tcl_win32' 173 artifactName: tcltk_lib_win32 174 175 - task: PublishPipelineArtifact@0 176 displayName: 'Publish artifact: tcltk_lib_amd64' 177 inputs: 178 targetPath: '$(Build.ArtifactStagingDirectory)\tcl_amd64' 179 artifactName: tcltk_lib_amd64 180