Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 39 additions & 13 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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"

Expand Down