dist: bionic language: cpp sudo: true git: submodules: false branches: only: - develop notifications: email: recipients: - nialldouglas14@gmail.com addons: apt: # sources: # - sourceline: "ppa:ubuntu-toolchain-r/test" packages: - g++ - clang - g++-arm-linux-gnueabihf - python3 - cmake - cmake-data - doxygen - python3 - python3-pip # homebrew: # packages: # - env: global: - secure: "A3TeWTlJdjUaQ31NF60kMOik8mzaJkdKA55jZXjN83BJ2ZjMDmWfq1XmZ7iDIxmn7HC2BVpjhdkj9jpRtPztb08L5VSlJIiVbXlBWNwgzmYANujpR9rA+bhZJwlKDaYQHUZUd4+iGHCHb0dLt2HG0eHF5azaifd0YqCfz5GcWl8=" matrix: include: - name: "g++ 7.5 x64 cmake tests (error_code)" compiler: g++ os: linux env: NAME=x64_EC_tests - name: "clang++ 7.0 x64 cmake tests (error_code)" compiler: clang++ os: linux env: NAME=x64_EC_tests - name: "libc++ x64 C++ 20 cmake tests (error_code)" compiler: clang++-11 os: linux env: - NAME=x64_EC_tests - CMAKE_CONFIGURE_OPTIONS=-DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-linux-libc++.cmake - name: "Xcode 11.6 x64 cmake tests (error_code)" compiler: clang++ os: osx osx_image: xcode11.6 env: NAME=x64_EC_tests - name: "g++ 7.5 x64 cmake tests (status_code)" compiler: g++ os: linux env: - NAME=x64_SC_tests - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON - name: "clang++ 7.0 x64 cmake tests (status_code)" compiler: clang++ os: linux env: - NAME=x64_SC_tests - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON - name: "libc++ x64 C++ 20 cmake tests (status_code)" compiler: clang++-11 os: linux env: - NAME=x64_SC_tests - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-linux-libc++.cmake # - name: "Xcode 11.6 x64 cmake tests (status_code)" # compiler: clang++ # os: osx # osx_image: xcode11.6 # env: # - NAME=x64_SC_tests # - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON - name: "g++ ARM32 cmake build (error_code)" compiler: g++ os: linux env: NAME=ARM32_EC_build - name: "g++ ARM32 cmake build (status_code)" compiler: g++ os: linux env: - NAME=ARM32_SC_build - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON - name: "Documentation" compiler: clang++ os: linux env: NAME=Documentation - name: "g++ 7.5 x64 Programs (error_code)" compiler: g++ os: linux env: NAME=x64_EC_programs - name: "clang++ 7.0 x64 Programs (error_code)" compiler: clang++ os: linux env: NAME=x64_EC_programs - name: "libc++ x64 C++ 20 Programs (error_code)" compiler: clang++-11 os: linux env: - NAME=x64_EC_programs - CMAKE_CONFIGURE_OPTIONS=-DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-linux-libc++.cmake - name: "Xcode 11.6 x64 Programs (error_code)" compiler: clang++ os: osx osx_image: xcode11.6 env: NAME=x64_EC_programs # - name: "x64 Programs (status_code)" # compiler: # - g++ # - clang++ # - clang++-11 # env: # - NAME=x64_SC_programs # - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON - name: "g++ 7.5 Installability (error_code)" compiler: g++ os: linux env: NAME=x64_EC_install - name: "clang++ 7.0 Installability (error_code)" compiler: clang++ os: linux env: NAME=x64_EC_install - name: "libc++ C++ 20 Installability (error_code)" compiler: clang++-11 os: linux env: - NAME=x64_EC_install - CMAKE_CONFIGURE_OPTIONS=-DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-linux-libc++.cmake - name: "Xcode 11.6 Installability (error_code)" compiler: clang++ os: osx osx_image: xcode11.6 env: NAME=x64_EC_install - name: "g++ 7.5 Installability (status_code)" compiler: g++ os: linux env: - NAME=x64_SC_install - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON - name: "clang++ 7.0 Installability (status_code)" compiler: clang++ os: linux env: - NAME=x64_SC_install - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON - name: "libc++ C++ 20 Installability (status_code)" compiler: clang++-11 os: linux env: - NAME=x64_SC_install - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-linux-libc++.cmake # - name: "Xcode 11.6 Installability (status_code)" # compiler: clang++ # os: osx # osx_image: xcode11.6 # env: # - NAME=x64_SC_install # - CMAKE_CONFIGURE_OPTIONS=-DLLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE=ON before_install: - if [ "$TRAVIS_COMPILER" = "clang++-11" ]; then wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -; echo "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-11 main" >> /etc/apt/sources.list; sudo apt update; sudo apt install clang-11 libc++-11-dev libc++abi-11-dev libomp-11-dev; fi - mount # mkdir build; # cd build; # cmake .. $CMAKE_CONFIGURE_OPTIONS -DCMAKE_BUILD_TYPE=Release; # cmake --build . -- _sl; # cmake --build . -- _dl; # ctest -C Release -E llfio_hl|shared_fs_mutex; # cd ..; script: - if [[ "$NAME" == "x64_"*"_tests" ]]; then export ASAN_OPTIONS=detect_leaks=0; ctest -S .ci.cmake -VV --timeout 300 -DCTEST_CONFIGURE_OPTIONS=$CMAKE_CONFIGURE_OPTIONS ; fi - if [[ "$NAME" == "ARM32_"*"_build" ]]; then ctest -S .ci.cmake -V --timeout 300 -DCTEST_DISABLE_TESTING=1 '-DCTEST_CONFIGURE_OPTIONS=$CMAKE_CONFIGURE_OPTIONS -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-linux-arm.cmake'; fi - if [ "$NAME" = "Documentation" ]; then git config --global push.default simple; git config --global user.name "Jenkins nedprod CI"; git config --global user.email "foo@nowhere"; git submodule update --init; 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 [[ "$NAME" == "x64_"*"_programs" ]]; then cd programs; mkdir build; cd build; cmake .. $CMAKE_CONFIGURE_OPTIONS -DCMAKE_BUILD_TYPE=Release; cmake --build .; fi - if [[ "$NAME" == "x64_"*"_install" ]]; then git clone --depth 1 https://github.com/ned14/quickcpplib.git; pip3 install --user gitpython; python3 quickcpplib/scripts/test_cpp-pm_install.py test-packaging/example.cpp quickcpplib quickcpplib::hl https://github.com/ned14/quickcpplib master outcome outcome::hl https://github.com/ned14/outcome better_optimisation llfio llfio::sl https://github.com/ned14/llfio master; cd test_cpp-pm_install; mkdir build; cd build; cmake .. -DCMAKE_BUILD_TYPE=Release; cmake --build .; fi after_success: - echo $TRAVIS_OS_NAME - echo $TRAVIS_COMPILER - echo $NAME # - bash -x ./update_coveralls.sh `pwd` # - NEWNAME=llfio-v2-binaries-linux64-$(date +%Y%m%d%H%M%S).tgz - if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$TRAVIS_COMPILER" = "g++" ] && [ "$NAME" = "x64_EC_tests" ]; then NEWNAME=llfio-v2-binaries-linux64-$TRAVIS_COMMIT.tgz; mv llfio-v2.0-binaries-linux-x64.tgz $NEWNAME; curl -T $NEWNAME -u jenkins-nedprod:$JENKINS_NEDPROD_PASSWORD https://dedi6.nedprod.com/static/files/upload/; fi - if [ "$TRAVIS_OS_NAME" = "osx" ] && [ "$NAME" = "x64_EC_tests" ]; then NEWNAME=llfio-v2-binaries-darwin64-$TRAVIS_COMMIT.tgz; mv llfio-v2.0-binaries-darwin-x64.tgz $NEWNAME; curl -T $NEWNAME -u jenkins-nedprod:$JENKINS_NEDPROD_PASSWORD https://dedi6.nedprod.com/static/files/upload/; fi after_failure: