summaryrefslogtreecommitdiff
path: root/.travis.yml
diff options
context:
space:
mode:
authorZachary Ware <zachary.ware@gmail.com>2018-02-18 15:45:48 -0600
committerGitHub <noreply@github.com>2018-02-18 15:45:48 -0600
commit21f53e7249d838489033abf4fc267bec00c1af3e (patch)
tree09a8a971f1fbd223ed082929c56f3939880c8bd5 /.travis.yml
parentfd9d1c901d16b1f16b421f9d6647025806c4d90d (diff)
downloadcpython-git-21f53e7249d838489033abf4fc267bec00c1af3e.tar.gz
[2.7] Clean up Travis config (GH-5727)
(cherry picked from commit 7eb3f8226ea7b79dae4e4e8b05730cfe0d9af7c1)
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml52
1 files changed, 39 insertions, 13 deletions
diff --git a/.travis.yml b/.travis.yml
index 6a64ec62ab..175432dd45 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -5,13 +5,14 @@ group: beta
# To cache doc-building dependencies and C compiler output.
cache:
- - pip
- - ccache
+ - pip
+ - ccache
branches:
only:
- master
- /^\d\.\d$/
+ - buildbot-custom
matrix:
fast_finish: true
@@ -37,28 +38,53 @@ matrix:
script:
- make check suspicious html SPHINXOPTS="-q -W -j4"
-# Travis provides only 2 cores, so don't overdo the parallelism and waste memory.
-before_script:
+
+before_install:
+ - set -e
- |
- set -e
- if ! git diff --name-only $TRAVIS_COMMIT_RANGE | grep -qvE '(\.rst$)|(^Doc)'
+ # Check short-circuit conditions
+ if [ "${TESTING}" != "docs" ]
then
- echo "Only docs were updated, stopping build process."
- exit
+ if [ "$TRAVIS_PULL_REQUEST" = "false" ]
+ then
+ echo "Not a PR, doing full build."
+ else
+ # Pull requests are slightly complicated because $TRAVIS_COMMIT_RANGE
+ # may include more changes than desired if the history is convoluted.
+ # Instead, explicitly fetch the base branch and compare against the
+ # merge-base commit.
+ git fetch -q origin +refs/heads/$TRAVIS_BRANCH
+ 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."
+ exit
+ fi
+ fi
fi
- ./configure --with-pydebug
- make -j4
- make -j4 regen-all
- changes=`git status --porcelain`
+
+
+# Travis provides only 2 cores, so don't overdo the parallelism and waste memory.
+before_script:
+ - ./configure --with-pydebug
+ - make -j4 regen-all
+ - changes=`git status --porcelain`
+ - |
+ # Check for changes in regenerated files
if ! test -z "$changes"
then
echo "Generated files not up to date"
echo "$changes"
exit 1
fi
- make pythoninfo
+ - make -j4
+ - make pythoninfo
script:
+ # Check that all symbols exported by libpython start with "Py" or "_Py"
+ - make smelly
# `-r -w` implicitly provided through `make buildbottest`.
- make buildbottest TESTOPTS="-j4 -uall,-cpu"