122 lines
3.2 KiB
YAML
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
|