mirror of https://github.com/python/cpython
85 lines
2.7 KiB
YAML
85 lines
2.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 Ubuntu 1604'
|
|
|
|
trigger:
|
|
branches:
|
|
include:
|
|
- master
|
|
- 3.7
|
|
- 3.6
|
|
paths:
|
|
exclude:
|
|
- Doc/*
|
|
- Tools/*
|
|
|
|
variables:
|
|
# Copy-pasted from linux-deps.yml until template support arrives
|
|
OPENSSL: 1.1.0g
|
|
OPENSSL_DIR: "$(build.sourcesDirectory)/multissl/openssl/$(OPENSSL)"
|
|
|
|
steps:
|
|
- checkout: self
|
|
clean: true
|
|
fetchDepth: 5
|
|
|
|
- script: |
|
|
git fetch -q origin $(system.pullRequest.targetBranch)
|
|
if ! git diff --name-only HEAD $(git merge-base HEAD FETCH_HEAD) | grep -qvE '(\.rst$|^Doc|^Misc)'
|
|
then
|
|
echo "Only docs were updated, stopping build process."
|
|
echo "##vso[task.setvariable variable=DocOnly]true"
|
|
exit
|
|
fi
|
|
displayName: Detect doc-only changes
|
|
condition: and(succeeded(), variables['system.pullRequest.targetBranch'])
|
|
|
|
#- template: linux-deps.yml
|
|
|
|
- script: echo ##vso[task.prependpath]$(OPENSSL_DIR)
|
|
displayName: 'Add $(OPENSSL_DIR) to PATH'
|
|
condition: and(succeeded(), ne(variables['DocOnly'], 'true'))
|
|
|
|
- script: ./.vsts/install_deps.sh
|
|
displayName: 'Install dependencies'
|
|
condition: and(succeeded(), ne(variables['DocOnly'], 'true'))
|
|
|
|
- script: python3 Tools/ssl/multissltests.py --steps=library --base-directory $(build.sourcesDirectory)/multissl --openssl $(OPENSSL) --system Linux
|
|
displayName: 'python multissltests.py'
|
|
condition: and(succeeded(), ne(variables['DocOnly'], 'true'))
|
|
|
|
|
|
- script: ./configure --with-pydebug
|
|
displayName: 'Configure CPython (debug)'
|
|
condition: and(succeeded(), ne(variables['DocOnly'], 'true'))
|
|
|
|
- script: make -s -j4
|
|
displayName: 'Build CPython'
|
|
condition: and(succeeded(), ne(variables['DocOnly'], 'true'))
|
|
|
|
- script: make pythoninfo
|
|
displayName: 'Display build info'
|
|
condition: and(succeeded(), ne(variables['DocOnly'], 'true'))
|
|
|
|
# Run patchcheck and fail if anything is discovered
|
|
- script: ./python Tools/scripts/patchcheck.py --travis true
|
|
displayName: 'Run patchcheck.py'
|
|
condition: and(succeeded(), ne(variables['DocOnly'], 'true'))
|
|
|
|
- script: xvfb-run make buildbottest TESTOPTS="-j4 -uall,-cpu --junit-xml=$(build.binariesDirectory)/test-results.xml"
|
|
displayName: 'Tests'
|
|
condition: and(succeeded(), ne(variables['DocOnly'], 'true'))
|
|
|
|
- task: PublishTestResults@2
|
|
displayName: 'Publish Test Results'
|
|
inputs:
|
|
testResultsFiles: '$(build.binariesDirectory)/test-results.xml'
|
|
mergeTestResults: true
|
|
testRunTitle: '$(system.pullRequest.targetBranch)-linux'
|
|
platform: linux
|
|
condition: and(succeededOrFailed(), ne(variables['DocOnly'], 'true'))
|