gcontini
2020-11-14 f4e683fc6bd6ac76f9979f49d737588b6ddf16b0
.travis.yml
@@ -1,11 +1,19 @@
language: cpp
services: docker
matrix:
stages:
   - name: test
   - name: documentation
     if: branch = develop
jobs:
   include:
   - os: linux
     dist: bionic
     name: "Ubuntu 18.04 - Travis CI VM"
     env:
     - VIRTUAL_ENV=VM
     - CTEST_OUTPUT_ON_FAILURE=1
     addons:
        apt:
          packages:
@@ -23,10 +31,68 @@
             - libboost-date-time-dev
     script: 
         - cmake --build . --target install
         - ctest
         - ctest -T memcheck
         - ctest -T memcheck
   - os: linux
     dist: focal
     name: "Ubuntu 20.04 - Travis CI VM - Debug"
     env:
     - VIRTUAL_ENV=VM
     - CTEST_OUTPUT_ON_FAILURE=1
     addons:
        apt:
          packages:
             - cmake
             - valgrind
             - libssl-dev
             - zlib1g-dev
             - libboost-dev
             - libboost-test-dev
             - libboost-filesystem-dev
             - libboost-iostreams-dev
             - libboost-program-options-dev
             - libboost-system-dev
             - libboost-thread-dev
             - libboost-date-time-dev
     before_script:
         - cd build && cmake -DCMAKE_INSTALL_PREFIX=../../install -DCMAKE_BUILD_TYPE=Debug -DCODE_COVERAGE=ON -DLCC_PROJECT_NAME=MYPROJECT ..
     script:
         - cat /proc/mounts
         - ls -lLai /dev/disk/by-uuid
         - ls -lLai /dev/disk/by-label
         - ls -lai /dev
         - ls -la /run
         - cmake --build . --target install
         - ctest -T memcheck; cat /tmp/open-license.log
   - os: linux
     dist: bionic
     name: "Ubuntu 18.04 - VM - set LCC_PROJECT_NAME"
     env:
     - VIRTUAL_ENV=VM
     - CTEST_OUTPUT_ON_FAILURE=1
     addons:
        apt:
          packages:
             - cmake
             - valgrind
             - libssl-dev
             - zlib1g-dev
             - libboost-dev
             - libboost-test-dev
             - libboost-filesystem-dev
             - libboost-iostreams-dev
             - libboost-program-options-dev
             - libboost-system-dev
             - libboost-thread-dev
             - libboost-date-time-dev
     before_script:
         - cd build && cmake -DCMAKE_INSTALL_PREFIX=../../install -DCMAKE_BUILD_TYPE=Debug DCODE_COVERAGE=ON -DLCC_PROJECT_NAME=MYPROJECT ..
     script:
         - cmake --build . --target install
         - ctest -T memcheck
   - os: linux
     dist: xenial
     env:
     - CTEST_OUTPUT_ON_FAILURE=1
     name: "Ubuntu 16.04 - Travis CI VM"
     addons:
        apt:
@@ -46,6 +112,9 @@
   - os: linux
     dist: bionic
     name: "Ubuntu 18.04 - Travis CI VM - Debug build"
     env:
     - VIRTUAL_ENV=VM
     - CTEST_OUTPUT_ON_FAILURE=1
     addons:
        apt:
          packages:
@@ -63,19 +132,18 @@
             - libboost-date-time-dev
             - lcov
     before_script:
         - cd build && cmake -DCMAKE_INSTALL_PREFIX=../../install -DCMAKE_BUILD_TYPE=Debug ..
         - cd build && cmake -DCMAKE_INSTALL_PREFIX=../../install -DCMAKE_BUILD_TYPE=Debug -DCMAKE_BUILD_TYPE=Debug -DCODE_COVERAGE=ON ..
     script: 
         - cmake --build . --target install
         - src/inspector/lccinspector
         - ctest
         - ctest -T memcheck
     after_success:
         # Create lcov report
         - lcov --capture --directory . --output-file coverage.info
         - lcov --remove coverage.info '/usr/*' --output-file coverage.info # filter system-files
         - lcov --remove coverage.info '/usr/include/*' '*/ini/*' '*/test/*' --output-file coverage.info # filter system-files
         - lcov --list coverage.info # debug info
         # Uploading report to CodeCov
         - bash <(curl -s https://codecov.io/bash) -f coverage.info || echo "Codecov did not collect coverage reports"
   - os: linux
     dist: bionic
     name: "CentOS-7 Docker"
@@ -89,7 +157,7 @@
        - docker commit centos7_toconfigure centos7_configured
     script: 
        - docker run --name centos7_make -v `pwd`:/root/open-license-manager centos7_configured /bin/bash -c 
            "cd /root/open-license-manager/build && make && make install && VIRT_ENV=CONTAINER make test"
            "cd /root/open-license-manager/build && make && make install && CTEST_OUTPUT_ON_FAILURE=1 VIRTUAL_ENV=CONTAINER make test"
   - os: linux
     dist: bionic
     name: "CentOS-8 Docker"
@@ -105,13 +173,13 @@
        - docker commit centos8_toconfigure centos8_configured
     script: 
        - docker run --name centos8_make -v `pwd`:/root/open-license-manager centos8_configured /bin/bash -c \
            "cd /root/open-license-manager/build && make && make install && VIRT_ENV=CONTAINER make test"
            "cd /root/open-license-manager/build && make && make install && src/inspector/lccinspector && CTEST_OUTPUT_ON_FAILURE=1 VIRTUAL_ENV=DOCKER make test"
   - os: linux
     dist: bionic
     name: "Ubuntu 18.04 - MinGW cross-compile for Windows x64"
     env:
        - CTEST_OUTPUT_ON_FAILURE=1
        - WINEARCH=win64
     - CTEST_OUTPUT_ON_FAILURE=1
     - WINEARCH=win64
     addons:
        apt:
          packages:
@@ -139,6 +207,12 @@
        - cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-ubuntu-mingw64.cmake -DCMAKE_INSTALL_PREFIX=../../install -DBOOST_ROOT=$PWD/boost_1_71_0/dist -DOPENSSL_ROOT_DIR=$PWD/openssl-1.0.2h-win64-mingw/ ..
   - os: windows
     name: "Widnows server 1803 - Visual Studio 15 2017 Win64 - (/MD)"
     env:
     - CTEST_OUTPUT_ON_FAILURE=1
     cache:
         edge: true
         directories:
             - "/C/local/boost"
     before_script:
         - travis_wait 40 ./scripts/windows_download_boost.bat
         - cd "${TRAVIS_BUILD_DIR}/build"
@@ -146,47 +220,84 @@
   - os: windows
     name: "Widnows server 1803 - Visual Studio 15 2017 Win64 - (/MT)"
     cache:
         edge: true
         directories:
             - "/C/local/boost"
     before_script:
         - travis_wait 40 ./scripts/windows_download_boost.bat
         - cd "${TRAVIS_BUILD_DIR}"
         - cd build && cmake -G "Visual Studio 15 2017 Win64" -DBOOST_ROOT="C:/local/boost" -DSTATIC_RUNTIME=1 ..
   - os: windows
     name: "Widnows server 1803 - MinGW Win64"
     env:
        - CACHE_NAME=boost-mingw
     cache:
         name: boost-mingw
         edge: true
         directories:
             - "/C/local/boost"
             - "./boost-mingw"
     before_script:
         - | 
           if [ -d "/C/local/boost/lib" ]; then
           if [ -d "${TRAVIS_BUILD_DIR}/boost-mingw/lib" ]; then
               echo "Boost already installed"
           else
               echo "Boost not cached, compiling it"
               wget -q https://dl.bintray.com/boostorg/release/1.68.0/source/boost_1_68_0.7z
               wget -q https://versaweb.dl.sourceforge.net/project/boost/boost/1.68.0/boost_1_68_0.7z
               echo "Boost downloaded"
               travis_wait 20 7z x boost_1_68_0.7z -oC:/local
               cd "C:/local/boost_1_68_0"
               ./bootstrap.bat gcc 
               travis_wait 40 ./b2.exe -d0 --with-date_time --with-test --with-filesystem --with-program_options --with-regex --with-serialization --with-system runtime-link=static toolset=gcc --prefix=C:/local/boost install
               travis_wait 40 ./b2.exe -d0 --with-date_time --with-test --with-filesystem --with-program_options --with-regex --with-serialization --with-system runtime-link=static toolset=gcc --prefix=${TRAVIS_BUILD_DIR}/boost-mingw install
               echo "Boost installed"
               cd /C/local/boost/lib
               cd ${TRAVIS_BUILD_DIR}/boost-mingw/lib
               dir 
           fi
         - cd "${TRAVIS_BUILD_DIR}"
         - cd build && cmake -G "MinGW Makefiles" -DBOOST_ROOT="C:/local/boost" -DBoost_ARCHITECTURE="-x64" -DCMAKE_CXX_COMPILER_ARCHITECTURE_ID="x64" -DCMAKE_SH="CMAKE_SH-NOTFOUND" ..
         - cd build && cmake -G "MinGW Makefiles" -DBOOST_ROOT="${TRAVIS_BUILD_DIR}/boost-mingw" -DBoost_ARCHITECTURE="-x64" -DCMAKE_CXX_COMPILER_ARCHITECTURE_ID="x64" -DCMAKE_SH="CMAKE_SH-NOTFOUND" ..
     script: 
         - travis_wait 20 cmake --build . --target install --config Release
         - ctest -C Release
   - os: linux
     dist: bionic
     stage: documentation
     name: "Deploy documentation"
     addons:
         apt:
           packages:
             - cmake
             - libssl-dev
             - zlib1g-dev
             - libboost-dev
             - libboost-test-dev
             - libboost-filesystem-dev
             - libboost-iostreams-dev
             - libboost-program-options-dev
             - libboost-system-dev
             - libboost-thread-dev
             - libboost-date-time-dev
             - python3-pip
             - python3-setuptools
             - doxygen
             - graphviz
     before_script:
        - pip3 install setuptools sphinx sphinx_rtd_theme breathe sphinx-markdown-tables recommonmark sphinx-sitemap sphinxemoji
        - cd build && cmake -DCMAKE_INSTALL_PREFIX=../../install ..
     script:
        - make documentation
     deploy:
        provider: pages
        skip_cleanup: true
        github_token: $GITHUB_TOKEN
        keep_history: false
        verbose: true
        target_branch: "gh-pages"
        local_dir: "build/docs/sphinx"
        on:
            branch: develop
env:
    - CTEST_OUTPUT_ON_FAILURE=1
  - CTEST_OUTPUT_ON_FAILURE=1
before_script:
    - cd build && cmake -DCMAKE_INSTALL_PREFIX=../../install ..
  - cd build && cmake -DCMAKE_INSTALL_PREFIX=../../install ..
script: 
    - cmake --build . --target install --config Release
    - ctest -C Release
  - cmake --build . --target install --config Release
  - ctest -C Release