|
|
|
@ -27,12 +27,24 @@ steps: |
|
|
|
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 |
|
|
|
|
|
|
|
# See https://github.com/Microsoft/vsts-agent/blob/master/docs/preview/yamlgettingstarted-templates.md |
|
|
|
# For now, we copy/paste the steps |
|
|
|
- script: echo "deb-src http://archive.ubuntu.com/ubuntu/ xenial main" > /etc/apt/sources.list.d/python.list && sudo apt-get update |
|
|
|
displayName: 'Update apt-get lists' |
|
|
|
condition: and(succeeded(), ne(variables['DocOnly'], 'true')) |
|
|
|
|
|
|
|
- script: echo ##vso[task.prependpath]$(OPENSSL_DIR) |
|
|
|
displayName: 'Add $(OPENSSL_DIR) to PATH' |
|
|
|
@ -55,24 +67,32 @@ steps: |
|
|
|
uuid-dev |
|
|
|
xvfb |
|
|
|
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: ./python -m venv venv && ./venv/bin/python -m pip install -U coverage |
|
|
|
displayName: 'Set up virtual environment' |
|
|
|
condition: and(succeeded(), ne(variables['DocOnly'], 'true')) |
|
|
|
|
|
|
|
- script: ./venv/bin/python -m test.pythoninfo |
|
|
|
displayName: 'Display build info' |
|
|
|
condition: and(succeeded(), ne(variables['DocOnly'], 'true')) |
|
|
|
|
|
|
|
- script: xvfb-run ./venv/bin/python -m coverage run --pylib -m test --fail-env-changed -uall,-cpu -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_multiprocessing_spawn -x test_concurrent_futures |
|
|
|
displayName: 'Tests with coverage' |
|
|
|
condition: and(succeeded(), ne(variables['DocOnly'], 'true')) |
|
|
|
|
|
|
|
- script: source ./venv/bin/activate && bash <(curl -s https://codecov.io/bash) |
|
|
|
displayName: 'Publish code coverage results' |
|
|
|
condition: and(succeeded(), ne(variables['DocOnly'], 'true')) |