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 env: global: - secure: "A3TeWTlJdjUaQ31NF60kMOik8mzaJkdKA55jZXjN83BJ2ZjMDmWfq1XmZ7iDIxmn7HC2BVpjhdkj9jpRtPztb08L5VSlJIiVbXlBWNwgzmYANujpR9rA+bhZJwlKDaYQHUZUd4+iGHCHb0dLt2HG0eHF5azaifd0YqCfz5GcWl8=" matrix: - __="cmake tests" NAME=TravisLinuxWorker - __="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" NAME=TravisLinuxWorker - os: linux compiler: clang++ env: __="Documentation" NAME=TravisDocumentation - os: linux env: __="cmake tests" NAME=TravisOSXWorker cache: apt: true directories: - doxygen-1.8.13 before_install: - DOXYGEN_VERSION=1.8.13; if [ "${TRAVIS_OS_NAME}" = "linux" ]; then if [ -z "$(ls -A doxygen-$DOXYGEN_VERSION)" ]; then wget -O doxygen-$DOXYGEN_VERSION.tar.gz http://ftp.stack.nl/pub/users/dimitri/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=-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; export NAME=TravisLinuxWorkerClang; fi; - git checkout develop - git submodule update --init --recursive - mount script: - if [ "$__" = "cmake tests" ]; then 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/boost.afio 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=afio-v2.0-binaries-linux64-$(date +%Y%m%d%H%M%S).tgz - if [ "${TRAVIS_OS_NAME}" = "linux" && "$CXX" = "g++-6" ]; then NEWNAME=afio-v2.0-binaries-linux64-$TRAVIS_COMMIT.tgz; mv afio-v2.0-binaries-linux64.tgz $NEWNAME; curl -T $NEWNAME -u jenkins-nedprod:$JENKINS_NEDPROD_PASSWORD https://dedi4.nedprod.com/static/files/upload/; fi; fi - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then NEWNAME=afio-v2.0-binaries-Darwin-$TRAVIS_COMMIT.tgz; mv afio-v2.0-binaries-Darwin.tgz $NEWNAME; curl -T $NEWNAME -u jenkins-nedprod:$JENKINS_NEDPROD_PASSWORD https://dedi4.nedprod.com/static/files/upload/; fi; fi after_failure: