Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
b221c93d
Commit
b221c93d
authored
Aug 07, 2018
by
Steve Dower
Committed by
GitHub
Aug 07, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
VSTS: Skip build steps when only docs have changed (GH-8546)
parent
8b584680
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
87 additions
and
1 deletion
+87
-1
.vsts/docs.yml
.vsts/docs.yml
+15
-1
.vsts/linux-coverage.yml
.vsts/linux-coverage.yml
+20
-0
.vsts/linux-pr.yml
.vsts/linux-pr.yml
+22
-0
.vsts/macos-pr.yml
.vsts/macos-pr.yml
+18
-0
.vsts/windows-pr.yml
.vsts/windows-pr.yml
+12
-0
No files found.
.vsts/docs.yml
View file @
b221c93d
...
...
@@ -23,21 +23,35 @@ 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 -qE '(\.rst$|^Doc|^Misc)'
then
echo "No docs were updated, stopping build process."
echo "##vso[task.setvariable variable=NoDocs]true"
exit
fi
displayName
:
Detect doc-only changes
condition
:
and(succeeded(), variables['system.pullRequest.targetBranch'])
-
task
:
UsePythonVersion@0
displayName
:
'
Use
Python
3.6
or
later'
inputs
:
versionSpec
:
'
>=3.6'
condition
:
and(succeeded(), ne(variables['NoDocs'], 'true'))
-
script
:
python -m pip install sphinx~=1.6.1 blurb python-docs-theme
displayName
:
'
Install
build
dependencies'
condition
:
and(succeeded(), ne(variables['NoDocs'], 'true'))
-
script
:
make check suspicious html PYTHON=python
workingDirectory
:
'
$(build.sourcesDirectory)/Doc'
displayName
:
'
Build
documentation'
condition
:
and(succeeded(), ne(variables['NoDocs'], 'true'))
-
task
:
PublishBuildArtifacts@1
displayName
:
'
Publish
build'
condition
:
and(
succeeded(), ne(variables['Build.Reason'], 'PullRequest
'))
condition
:
and(
and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')), ne(variables['NoDocs'], 'true
'))
inputs
:
PathToPublish
:
'
$(build.sourcesDirectory)/Doc/build'
ArtifactName
:
build
...
...
.vsts/linux-coverage.yml
View file @
b221c93d
...
...
@@ -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'))
.vsts/linux-pr.yml
View file @
b221c93d
...
...
@@ -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'))
.vsts/macos-pr.yml
View file @
b221c93d
...
...
@@ -24,14 +24,32 @@ steps:
clean
:
true
fetchDepth
:
5
-
script
:
|
git fetch -q origin $(system.pullRequest.targetBranch)
changes = $(git diff --name-only HEAD $(git merge-base HEAD FETCH_HEAD))
echo "Files changed:"
echo "$changes"
if ! echo "$changes" | 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'])
-
script
:
./configure --with-pydebug --with-openssl=/usr/local/opt/openssl --prefix=/opt/python-vsts
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'))
-
script
:
make buildbottest TESTOPTS="-j4 -uall,-cpu"
displayName
:
'
Tests'
condition
:
and(succeeded(), ne(variables['DocOnly'], 'true'))
.vsts/windows-pr.yml
View file @
b221c93d
...
...
@@ -37,13 +37,25 @@ steps:
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'))
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment