dist: trusty language: cpp compiler: # - g++ - clang++ sudo: false os: - linux # - osx osx_image: xcode9.2 branches: only: - develop notifications: email: recipients: - nialldouglas14@gmail.com addons: apt: sources: - ubuntu-toolchain-r-test - george-edison55-precise-backports - llvm-toolchain-trusty-4.0 packages: - g++-6 - clang-4.0 - python3 - cmake - cmake-data - doxygen env: global: - secure: "A3TeWTlJdjUaQ31NF60kMOik8mzaJkdKA55jZXjN83BJ2ZjMDmWfq1XmZ7iDIxmn7HC2BVpjhdkj9jpRtPztb08L5VSlJIiVbXlBWNwgzmYANujpR9rA+bhZJwlKDaYQHUZUd4+iGHCHb0dLt2HG0eHF5azaifd0YqCfz5GcWl8=" matrix: - __="cmake tests (error_code)" NAME=TravisLinuxWorkerEC CMAKE_CONFIGURE_OPTIONS= - __="cmake tests (status_code)" NAME=TravisLinuxWorkerSC CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON # - __="cmake tests" NAME=TravisOSXWorker - __="Documentation" NAME=TravisDocumentation - __="Programs" matrix: exclude: # - os: osx # compiler: g++ # - os: osx # env: __="Documentation" NAME=TravisDocumentation # - os: osx # env: __="cmake tests (error_code)" NAME=TravisLinuxWorkerEC CMAKE_CONFIGURE_OPTIONS= # - os: osx # env: __="cmake tests (status_code)" NAME=TravisLinuxWorkerSC CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON - os: linux compiler: g++ env: __="Documentation" NAME=TravisDocumentation - os: linux env: __="cmake tests" NAME=TravisOSXWorker cache: apt: true # directories: # - doxygen-1.8.16 before_install: # - # DOXYGEN_VERSION=1.8.16; # if [ "${TRAVIS_OS_NAME}" = "linux" ]; then # if [ -z "$(ls -A doxygen-$DOXYGEN_VERSION)" ]; then # wget -O doxygen-$DOXYGEN_VERSION.tar.gz http://doxygen.nl/files/doxygen-$DOXYGEN_VERSION.linux.bin.tar.gz; # mkdir -p doxygen-$DOXYGEN_VERSION; # tar -xvf doxygen-$DOXYGEN_VERSION.tar.gz --strip 1 -C doxygen-$DOXYGEN_VERSION; # fi; # export PATH="$PWD/doxygen-$DOXYGEN_VERSION/bin:$PATH"; # fi - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then brew install llvm; export CXX=/usr/local/opt/llvm/bin/clang++; export LDFLAGS="-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib"; export CPPFLAGS=-I/usr/local/opt/llvm/include; export CMAKE_CONFIGURE_OPTIONS="$CMAKE_CONFIGURE_OPTIONS -DCMAKE_LIBRARY_PATH=/usr/local/opt/llvm/lib"; fi - if [ "$CXX" = "g++" ]; then export CXX=g++-6; export NAME=TravisLinuxWorkerGCC; fi; - if [ "$CXX" = "clang++" ]; then export CXX=clang++-4.0; fi; - git checkout develop - git submodule update --init --recursive - mount script: - if [ "$__" = "cmake tests" ] || [ "$__" = "cmake tests (error_code)" ] || [ "$__" = "cmake tests (status_code)" ]; then export ASAN_OPTIONS=detect_leaks=0; ctest -S .ci.cmake -V --timeout 300 -DCTEST_CONFIGURE_OPTIONS=$CMAKE_CONFIGURE_OPTIONS ; fi - if [ "$__" = "Documentation" ]; then git config --global push.default simple; git config --global user.name "Jenkins nedprod CI"; git config --global user.email "foo@nowhere"; cd doc/html; git checkout gh-pages; cd ../..; ctest -S .docs.cmake -V; cd doc/html; git add . || true; git commit -a -m "Travis CI updates documentation" || true; git push -f https://jenkins-nedprod:$JENKINS_NEDPROD_PASSWORD@github.com/ned14/llfio gh-pages; cd ../..; fi - if [ "$__" = "Programs" ]; then cd programs; mkdir build; cd build; cmake .. $CMAKE_CONFIGURE_OPTIONS ; cmake --build .; fi after_success: # - bash -x ./update_coveralls.sh `pwd` # - NEWNAME=llfio-v2.0-binaries-linux64-$(date +%Y%m%d%H%M%S).tgz - if [ "${TRAVIS_OS_NAME}" = "linux" ] && [ "$CXX" = "clang++-4.0" ] && [ "$__" = "cmake tests (error_code)" ]; then NEWNAME=llfio-v2.0-binaries-linux64-$TRAVIS_COMMIT.tgz; mv llfio-v2.0-binaries-linux64.tgz $NEWNAME; curl -T $NEWNAME -u jenkins-nedprod:$JENKINS_NEDPROD_PASSWORD https://dedi5.nedprod.com/static/files/upload/; fi - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then NEWNAME=llfio-v2.0-binaries-darwin64-$TRAVIS_COMMIT.tgz; mv llfio-v2.0-binaries-darwin64.tgz $NEWNAME; curl -T $NEWNAME -u jenkins-nedprod:$JENKINS_NEDPROD_PASSWORD https://dedi5.nedprod.com/static/files/upload/; fi after_failure: