From 313a1361b11f31da7ee7ad2f2430bbc918b61ef3 Mon Sep 17 00:00:00 2001
From: Gabriele Contini <contini.mailing@gmail.com>
Date: 周六, 02 5月 2020 10:08:47 +0800
Subject: [PATCH] Visual studio 2015 isn't supported anymore.

---
 .travis.yml |  146 ++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 116 insertions(+), 30 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 773c9be..c2099b6 100644
--- a/.travis.yml
+++ b/.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,7 +31,7 @@
              - libboost-date-time-dev
      script: 
          - cmake --build . --target install
-         - ctest
+         - src/inspector/lccinspector
          - ctest -T memcheck        
    - os: linux
      dist: xenial
@@ -46,6 +54,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:
@@ -61,29 +72,56 @@
              - libboost-system-dev
              - libboost-thread-dev
              - 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/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"
      before_script: 
         - docker run --name centos7_toconfigure -v `pwd`:/root/open-license-manager centos:centos7 /bin/bash -c 
             "yum -y update && yum -y install install centos-release-scl &&
-              yum -y install cmake boost boost-devel boost-static openssl openssl-devel glibc-static devtoolset-7-toolchain devtoolset-7-gcc devtoolset-7-gcc-c++ devtoolset-7-valgrind-devel && 
-              cd /root/open-license-manager/build && 
-              CC=/opt/rh/devtoolset-7/root/usr/bin/gcc CXX=/opt/rh/devtoolset-7/root/usr/bin/g++ cmake .."
+              yum -y install wget boost boost-devel boost-static openssl openssl-devel openssl-static glibc-static devtoolset-7-toolchain devtoolset-7-gcc devtoolset-7-gcc-c++ devtoolset-7-valgrind-devel &&
+              wget https://cmake.org/files/v3.11/cmake-3.11.0.tar.gz && tar zxvf cmake-3.11.0.tar.gz && cd cmake-3.11.0 &&
+              export CC=/opt/rh/devtoolset-7/root/usr/bin/gcc && export CXX=/opt/rh/devtoolset-7/root/usr/bin/g++ &&  
+              ./bootstrap && make && make install && cd /root/open-license-manager/build && cmake .."
         - 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 && VIRTUAL_ENV=CONTAINER make test"
+   - os: linux
+     dist: bionic
+     name: "CentOS-8 Docker"
+     before_script: 
+        - docker run --name centos8_toconfigure -v `pwd`:/root/open-license-manager centos:centos8 /bin/bash -c \
+            "yum -y update && yum -y groupinstall 'Development Tools' && 
+             yum -y install wget cmake boost boost-devel openssl-devel zlib-devel && 
+             dnf -y --enablerepo=PowerTools install boost-static && 
+             wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_1d.tar.gz && 
+             tar xzf OpenSSL_1_1_1d.tar.gz && cd openssl-OpenSSL_1_1_1d && 
+             ./config && make -j 8 && make install && 
+             cd /root/open-license-manager/build && cmake .."
+        - 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 && src/inspector/lccinspector && 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
      addons:
         apt:
           packages:
@@ -92,8 +130,11 @@
              - mingw-w64 
              - mingw-w64-tools 
              - mingw-w64-x86-64-dev 
+             - wine64-development
+             - wine64-development-preloader
              - wine-development
-             - wine32-development
+             - wine64
+             - p7zip-full
      before_script:
         - cd build
         - wget -c https://dl.bintray.com/boostorg/release/1.71.0/source/boost_1_71_0.tar.bz2
@@ -103,32 +144,39 @@
         - ./bootstrap.sh
         - travis_wait 30 ./b2 toolset=gcc-mingw target-os=windows address-model=64 --with-date_time --with-test --with-filesystem --with-program_options --with-regex --with-serialization --with-system runtime-link=static --prefix=./dist release install
         - cd ..
-        - cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-ubuntu-mingw64.cmake -DCMAKE_INSTALL_PREFIX=../../install -DBOOST_ROOT=$PWD/boost_1_71_0/dist  ..
+        - wget --no-check-certificate https://bintray.com/vszakats/generic/download_file?file_path=openssl-1.0.2h-win64-mingw.7z -O openssl.7z
+        - 7z x openssl.7z
+        - 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)"
+     cache:
+         edge: true
+         directories:
+             - "/C/local/boost"
      before_script:
-         - travis_wait 40 ./windows_download_boost.bat
+         - travis_wait 40 ./scripts/windows_download_boost.bat
          - cd "${TRAVIS_BUILD_DIR}/build"
          - cmake -G "Visual Studio 15 2017 Win64" -DBOOST_ROOT="C:/local/boost" ..
 
    - os: windows
      name: "Widnows server 1803 - Visual Studio 15 2017 Win64 - (/MT)"
-     before_script:
-         - travis_wait 40 ./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"
      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"
+     cache:
+         edge: true
+         directories:
+             - "./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"
@@ -137,21 +185,59 @@
                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" --trace-expand -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-rtd-theme 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 ..
 
 script: 
     - cmake --build . --target install --config Release
     - ctest -C Release
-    
+    
\ No newline at end of file

--
Gitblit v1.9.1