open_toontown_panda3d/.travis.yml

122 lines
3.2 KiB
YAML

language: cpp
sudo: false
# Build matrix:
os:
- linux
- osx
compiler:
- clang
env:
- BUILD_METALIBS=ON COMPOSITE_SOURCE_LIMIT=30
- BUILD_METALIBS=ON COMPOSITE_SOURCE_LIMIT=30 PYTHON_INTERP=python2.7
- BUILD_METALIBS=OFF COMPOSITE_SOURCE_LIMIT=30
- BUILD_METALIBS=ON COMPOSITE_SOURCE_LIMIT=0
matrix:
exclude:
- os: osx
env: BUILD_METALIBS=ON COMPOSITE_SOURCE_LIMIT=0
include:
- os: osx
env: BUILD_METALIBS=ON COMPOSITE_SOURCE_LIMIT=30 COMPOSITE_SOURCE_EXCLUSIONS='p3showbase;p3dtoolutil;p3cocoadisplay;p3osxdisplay;p3tinydisplay;p3display'
- compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- gcc-4.7
- g++-4.7
- bison
- flex
- libavcodec-dev
- libavformat-dev
- libavresample-dev
- libavutil-dev
- libfreetype6-dev
- libgl1-mesa-dev
- libjpeg-dev
- libode-dev
- libopenal-dev
- libpng-dev
- libssl-dev
- libswscale-dev
- libvorbis-dev
- libx11-dev
- libxcursor-dev
- libxrandr-dev
- nvidia-cg-toolkit
- python-dev
- python3-dev
- python3-pip
- python-virtualenv
- zlib1g-dev
- fakeroot
before_install:
# clean up remnants of makepanda
- mv makepanda/test_imports.py .
- makepanda/selfdestruct.py --yes
install:
- >
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
brew install python@3 eigen libtar libsquish zlib ffmpeg freetype \
bullet opencv assimp libvorbis openssl || true
brew install ode --with-shared
# We can't trust brew to make the right symlinks, so execute commands as modules
${PYTHON_INTERP:-python3} -m pip install virtualenv
${PYTHON_INTERP:-python3} -m virtualenv venv
else
virtualenv --python=${PYTHON_INTERP:-python3} venv
fi
- source venv/bin/activate
- pip install pytest
before_script:
- mkdir built
- cd built
script:
# This is kind of a hack, but needed to test non-metalib builds (until
# interrogate has a way of explicitly calling init_libpanda)
- '[ "x$BUILD_METALIBS" == "xON" -o "x$TRAVIS_OS_NAME" == "xosx" ] || export LDFLAGS=-Wl,--no-as-needed'
- >
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
if [[ "$PYTHON_INTERP" == "python2.7" ]]; then
export PY2_CMAKE_ARGS=-DPYTHON_EXECUTABLE=/usr/local/Frameworks/Python.framework/Versions/2.7/bin/python
fi
cmake -DBUILD_METALIBS=$BUILD_METALIBS \
-DCOMPOSITE_SOURCE_EXCLUSIONS="$COMPOSITE_SOURCE_EXCLUSIONS" \
-DCOMPOSITE_SOURCE_LIMIT=$COMPOSITE_SOURCE_LIMIT \
-DOPENSSL_ROOT_DIR=/usr/local/opt/openssl $PY2_CMAKE_ARGS ..
else
cmake -DHAVE_GTK2=NO -DBUILD_METALIBS=$BUILD_METALIBS \
-DWANT_PYTHON_VERSION=$(python -V 2>&1 | cut -d' ' -f2) \
-DCOMPOSITE_SOURCE_EXCLUSIONS="$COMPOSITE_SOURCE_EXCLUSIONS" \
-DCOMPOSITE_SOURCE_LIMIT=$COMPOSITE_SOURCE_LIMIT ..
fi
- make -j4
- export PYTHONPATH=$PWD
- python ../test_imports.py
- pytest -v ../tests
notifications:
irc:
channels:
- secure: "jfwHT9RHAVOGRGTMY8TpYKJI6rq8nFoIj41Y0soZdJQNWtSSFEK9AyzZeMY+2dHga7cR/X+/0NWZ2ehhedTnd9FvlzOnMWWC3K0I/b3XWbEdVEqIZnggFkKGqs82Gy3omguRC63yWupeJCcSCckIhoWbLzWy6xV8lF5WC80iXi8="
on_success: change
on_failure: always
use_notice: true
skip_join: false
webhooks:
urls:
- https://www.panda3d.org/webhooks/travis-ci.php
on_success: change
on_failure: always