diff options
Diffstat (limited to '.vsts/linux-pr.yml')
-rw-r--r-- | .vsts/linux-pr.yml | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/.vsts/linux-pr.yml b/.vsts/linux-pr.yml index 80e4284..145ebb3 100644 --- a/.vsts/linux-pr.yml +++ b/.vsts/linux-pr.yml @@ -27,15 +27,29 @@ 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' + condition: and(succeeded(), ne(variables['DocOnly'], 'true')) + - script: > sudo apt-get -yq install build-essential @@ -55,22 +69,30 @@ 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: 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" displayName: 'Tests' + condition: and(succeeded(), ne(variables['DocOnly'], 'true')) |