62 lines
1.7 KiB
YAML
62 lines
1.7 KiB
YAML
# Current docs for the syntax of this file are at:
|
|
# https://github.com/Microsoft/vsts-agent/blob/master/docs/preview/yamlgettingstarted.md
|
|
|
|
name: $(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.rr)
|
|
|
|
queue:
|
|
name: Hosted VS2017
|
|
parallel: 2
|
|
matrix:
|
|
amd64:
|
|
buildOpt: -p x64
|
|
outDirSuffix: amd64
|
|
win32:
|
|
buildOpt:
|
|
outDirSuffix: win32
|
|
|
|
trigger:
|
|
branches:
|
|
include:
|
|
- master
|
|
- 3.7
|
|
- 3.6
|
|
paths:
|
|
exclude:
|
|
- Doc/*
|
|
- Tools/*
|
|
|
|
variables:
|
|
# Relocate build outputs outside of source directory to make cleaning faster
|
|
Py_IntDir: $(Build.BinariesDirectory)\obj
|
|
# UNDONE: Do not build to a different directory because of broken tests
|
|
Py_OutDir: $(Build.SourcesDirectory)\PCbuild
|
|
EXTERNAL_DIR: $(Build.BinariesDirectory)\externals
|
|
|
|
steps:
|
|
- checkout: self
|
|
clean: true
|
|
fetchDepth: 5
|
|
|
|
- powershell: |
|
|
git fetch -q origin $(System.PullRequest.TargetBranch)
|
|
if (-not (git diff --name-only HEAD (git merge-base HEAD FETCH_HEAD) | sls -NotMatch '(\.rst$)|(^Doc)|(^Misc)')) {
|
|
Write-Host 'Only docs were updated. Skipping build'
|
|
Write-Host '##vso[task.setvariable variable=DocOnly]true'
|
|
}
|
|
displayName: Detect doc-only changes
|
|
condition: and(succeeded(), variables['System.PullRequest.TargetBranch'])
|
|
|
|
- script: PCbuild\build.bat -e $(buildOpt)
|
|
displayName: 'Build CPython'
|
|
condition: and(succeeded(), ne(variables['DocOnly'], 'true'))
|
|
|
|
- script: python.bat -m test.pythoninfo
|
|
displayName: 'Display build info'
|
|
condition: and(succeeded(), ne(variables['DocOnly'], 'true'))
|
|
|
|
- script: PCbuild\rt.bat -q -uall -u-cpu -rwW --slowest --timeout=1200 -j0
|
|
displayName: 'Tests'
|
|
env:
|
|
PREFIX: $(Py_OutDir)\$(outDirSuffix)
|
|
condition: and(succeeded(), ne(variables['DocOnly'], 'true'))
|