Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
241 lines (226 sloc) 8.17 KB
# .travis.yml for OSL
language: cpp
osx_image: xcode10
dist: trusty
# Add-ons: specify apt packages for Linux
# Currently, we do this per-matrix-entry so it can be finely customized
# so that each entry only get the packages it needs.
#addons:
# apt:
# sources:
# - ubuntu-toolchain-r-test
# packages:
# - g++-4.8
# - g++-6
# - g++-7
# - libboost-filesystem1.55
# - libboost-python1.55
# - libboost-regex1.55
# - libboost-system1.55
# - libboost-thread1.55
# - libboost-wave1.55
cache:
ccache: true
apt: true
directories:
- $HOME/.ccache
before_install:
- if [ "$WHICHGCC" == "" ]; then export WHICHGCC="4.8" ; fi
- if [ $TRAVIS_OS_NAME == osx ] ; then
export PLATFORM=macosx ;
sysctl machdep.cpu.features ;
elif [ $TRAVIS_OS_NAME == linux ] ; then
export PLATFORM=linux64 ;
cat /proc/cpuinfo | head -26 ;
fi
- export OIIOPLATFORM=$PLATFORM
- if [ "$DEBUG" == 1 ] ; then export PLATFORM=${PLATFORM}.debug ; fi
- echo "Build platform name is $PLATFORM"
install:
- if [ "$CXX" == "g++" ]; then export CXX="g++-${WHICHGCC}" ; fi
- export USE_CCACHE=1
- export CCACHE_CPP2=1
# Temporary fix: Use LG's private openexr branch, until the
# fixes are merged into the OpenEXR project that will address
# the warnings for gcc7 and C++17 compatibility.
- export EXRREPO=https://github.com/lgritz/openexr.git ;
- export EXRBRANCH=lg-cpp11 ;
- if [ $TRAVIS_OS_NAME == osx ] ; then
source src/build-scripts/install_homebrew_deps.bash ;
elif [ $TRAVIS_OS_NAME == linux ] ; then
CXX="ccache $CXX" CCACHE_CPP2=1 src/build-scripts/build_openexr.bash ;
export ILMBASE_ROOT_DIR=$PWD/ext/openexr-install ;
export OPENEXR_ROOT_DIR=$PWD/ext/openexr-install ;
export ILMBASE_HOME=$PWD/ext/openexr-install ;
export OPENEXR_HOME=$PWD/ext/openexr-install ;
if [ "$LLVM_VERSION" == "" ]; then export LLVM_VERSION="error" ; fi ;
if [ "$LLVM_VERSION" == "5.0.0" ]; then export LLVMTAR=clang+llvm-${LLVM_VERSION}-linux-x86_64-ubuntu14.04.tar.xz ; else export LLVMTAR=clang+llvm-${LLVM_VERSION}-x86_64-linux-gnu-ubuntu-14.04.tar.xz ; fi;
echo LLVMTAR = $LLVMTAR ;
wget http://releases.llvm.org/${LLVM_VERSION}/${LLVMTAR} ;
tar xf $LLVMTAR ;
rm -f $LLVMTAR ;
echo "Installed ${LLVM_VERSION}" ;
mv clang+llvm* llvm-install ;
export LLVM_DIRECTORY=$PWD/llvm-install ;
ls -a $LLVM_DIRECTORY ;
fi
# Note: can remove the ILMBASE_HOME/OPENEXR_HOME when OIIO 2.x is floor
- export OIIOMAKEFLAGS="$OIIOMAKEFLAGS -j2 DEBUG= USE_PYTHON=0 OIIO_BUILD_TESTS=0"
- export OPENIMAGEIO_SITE=travis
- export OSL_SITE=travis
- src/build-scripts/build_openimageio.bash
- export OPENIMAGEIO_ROOT_DIR=$PWD/OpenImageIO/dist/$OIIOPLATFORM
- export OPENIMAGEIOHOME=$OPENIMAGEIO_ROOT_DIR
- export PATH=$OPENIMAGEIO_ROOT_DIR/bin:$PATH
- export DYLD_LIBRARY_PATH=$OPENIMAGEIO_ROOT_DIR/lib:$DYLD_LIBRARY_PATH
- export LD_LIBRARY_PATH=$OPENIMAGEIO_ROOT_DIR/lib:$LD_LIBRARY_PATH
- export PYTHONPATH=$OPENIMAGEIO_ROOT_DIR/python:$PYTHONPATH
- if [ $TRAVIS_OS_NAME == linux ] ; then
export BUILD_FLAGS="$BUILD_FLAGS LLVM_STATIC=1" ;
export TEST_FLAGS="-E broken\|render-cornell\|render-oren-nayar\|render-veachmis\|render-ward" ;
fi
# ^^^ Linux only, can't make these test work. Exclude for now and return later. ;
# before_script:
script:
- make VERBOSE=1 $BUILD_FLAGS cmakesetup
- make -j2 $BUILD_FLAGS
- export LSAN_OPTIONS=suppressions=$PWD/src/build-scripts/nosanitize.txt
- export OSL_ROOT_DIR=$PWD/dist/$PLATFORM
- export OIIO_LIBRARY_PATH=${OSL_ROOT_DIR}/lib:${OIIO_LIBRARY_PATH}
- make $BUILD_FLAGS test
after_success:
- if [ "$CODECOV" == 1 ]; then bash <(curl -s https://codecov.io/bash) ; fi
after_failure:
# FIXME: find failed logs, stash them or send them to lg?
branches:
only:
- master
- /RB-/
- /lg-/
matrix:
fast_finish: true
include:
- name: "VFX Platform 2018 (gcc6, c++14), llvm 7, OIIO master, avx/f16c"
os: linux
compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-6
- libboost1.55-dev
- libboost-filesystem1.55
- libboost-python1.55
- libboost-system1.55
- libboost-thread1.55
- libboost-wave1.55
env: WHICHGCC=6 USE_CPP=14 LLVM_VERSION=7.0.0 OIIOBRANCH=master USE_SIMD=avx,f16c
- name: "MacOS (latest Apple clang, llvm 7, OIIO master, latest homebrew libs"
os: osx
compiler: clang
- name: "VFX Platform 2017 (gcc48, c++11), llvm 6, OIIO release, sse4.2"
os: linux
compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libboost1.55-dev
- libboost-filesystem1.55
- libboost-python1.55
- libboost-regex1.55
- libboost-system1.55
- libboost-thread1.55
- libboost-wave1.55
env: WHICHGCC=4.8 USE_CPP=11 LLVM_VERSION=6.0.1 USE_SIMD=sse4.2 OIIOBRANCH=release
- name: "Older things: OIIO 2.0, llvm 5, boost 1.55"
os: linux
compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libboost1.55-dev
- libboost-filesystem1.55
- libboost-python1.55
- libboost-regex1.55
- libboost-system1.55
- libboost-thread1.55
- libboost-wave1.55
env: WHICHGCC=4.8 USE_CPP=11 LLVM_VERSION=5.0.0 USE_SIMD=sse4.2 OIIOBRANCH=RB-2.0
if: branch =~ /(master|RB|travis)/ OR type = pull_request
- name: "gcc7, llvm7, C++14"
os: linux
compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-7
- libboost1.55-dev
- libboost-filesystem1.55
- libboost-python1.55
- libboost-system1.55
- libboost-thread1.55
- libboost-wave1.55
env: WHICHGCC=7 USE_CPP=14 LLVM_VERSION=7.0.0
if: branch =~ /(master|RB|travis)/ OR type = pull_request
- name: "Future: gcc8, C++14, LLVM 7, OIIO master, AVX/f16c"
os: linux
compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-8
- libboost1.55-dev
- libboost-filesystem1.55
- libboost-python1.55
- libboost-system1.55
- libboost-thread1.55
- libboost-wave1.55
env: WHICHGCC=8 USE_CPP=14 LLVM_VERSION=7.0.0 USE_SIMD=avx,f16c
- name: "DEBUG build, LLVM 7, OIIO master"
os: linux
compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libboost1.55-dev
- libboost-filesystem1.55
- libboost-python1.55
- libboost-regex1.55
- libboost-system1.55
- libboost-thread1.55
- libboost-wave1.55
env: DEBUG=1 LLVM_VERSION=7.0.0 OIIOBRANCH=master
- name: "Oldest everything: LLVM 5, OIIO 2.0, no simd"
os: linux
compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libboost1.55-dev
- libboost-filesystem1.55
- libboost-python1.55
- libboost-regex1.55
- libboost-system1.55
- libboost-thread1.55
- libboost-wave1.55
env: USE_SIMD=0 LLVM_VERSION=5.0.0 OIIOBRANCH=RB-2.0
if: branch =~ /(master|RB|travis)/ OR type = pull_request
notifications:
email:
# recipients:
# -
on_success: change
on_failure: always
You can’t perform that action at this time.