forked from AcademySoftwareFoundation/OpenShadingLanguage
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
143 lines (129 loc) · 4.13 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
# .travis.yml for OSL
language: cpp
sudo: false
#compiler:
# - clang
# - gcc
#os:
# - linux
# - osx
osx_image: xcode7.3
dist: precise
# Add-ons: specify apt packages for Linux
addons:
apt:
sources:
- boost-latest
- ubuntu-toolchain-r-test
- george-edison55-precise-backports
packages:
- cmake
- cmake-data
- gcc-4.8
- g++-4.8
- gcc-6
- g++-6
- libboost1.55-all-dev
- libtiff4-dev
- llvm-3.4-dev
- clang-3.4
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 ;
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
- if [ $TRAVIS_OS_NAME == osx ] ; then
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_HOME=$PWD/openexr-install ;
export OPENEXR_HOME=$PWD/openexr-install ;
fi
- export OIIOMAKEFLAGS="$OIIOMAKEFLAGS -j2 DEBUG= "
- src/build-scripts/build_openimageio.bash
- export OPENIMAGEIOHOME=$PWD/OpenImageIO/dist/$OIIOPLATFORM
- export DYLD_LIBRARY_PATH=$OPENIMAGEIOHOME/lib:$DYLD_LIBRARY_PATH
- export LD_LIBRARY_PATH=$OPENIMAGEIOHOME/lib:$LD_LIBRARY_PATH
- export PATH=$OPENIMAGEIOHOME/bin:$PATH
- 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 OSLHOME=$PWD/dist/$PLATFORM
- export DYLD_LIBRARY_PATH=$OSLHOME/lib:$DYLD_LIBRARY_PATH
- export LD_LIBRARY_PATH=$OSLHOME/lib:$LD_LIBRARY_PATH
- export PYTHONPATH=$OSLHOME/python:$OPENIMAGEIOHOME/python:$PYTHONPATH
- 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:
# Build with C++11, optimized build, against OIIO master
- os: linux
compiler: gcc
- os: osx
compiler: clang
# Build with C++11, DEBUG build, against OIIO master
- os: linux
compiler: gcc
env: DEBUG=1
- os: osx
compiler: clang
env: DEBUG=1
# Test against the older release branch of OIIO (all the other tests
# are against OIIO master).
- os: linux
compiler: gcc
env: OIIOBRANCH=release USE_CPP11=1
- os: osx
compiler: clang
env: OIIOBRANCH=release USE_CPP11=1
# Linux only: test gcc 6 (catch new warnings hot off the presses) and
# also use a higher SIMD level, avx and f16c, to make sure all is well.
# TravisCI's OSX images don't yet support avx/f16c, so we only do this
# on Linux for now, but eventually we'll want to separate these concerns
# into separate tests.
- os: linux
compiler: gcc
env: WHICHGCC=6 USE_SIMD=avx,f16c
# One more, just for the heck of it, turn all SIMD off. I guess this
# should/could be both platforms, but in the interest of making the
# tests go faster, don't bother doing it on OSX.
- os: linux
compiler: gcc
env: USE_SIMD=0
notifications:
email:
# recipients:
# -
on_success: change
on_failure: always