language: cpp
|
services: docker
|
|
stages:
|
- name: test
|
- name: documentation
|
if: branch = develop
|
|
jobs:
|
include:
|
- os: linux
|
dist: bionic
|
name: "Travis CI VM"
|
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
|
script:
|
- cmake --build . --target install
|
- ctest -T memcheck
|
- os: linux
|
dist: focal
|
name: "Travis CI VM - Release"
|
env:
|
- VIRTUAL_ENV=VM
|
- CTEST_OUTPUT_ON_FAILURE=1
|
before_script:
|
- sudo apt-get update
|
- sudo apt-get install -y cmake libssl-dev zlib1g-dev libboost-dev libboost-filesystem-dev libboost-test-dev libboost-iostreams-dev libboost-program-options-dev libboost-system-dev libboost-thread-dev libboost-date-time-dev
|
- cd build && cmake -DCMAKE_INSTALL_PREFIX=../../install -DCMAKE_BUILD_TYPE=Release ..
|
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; cat /tmp/open-license.log
|
- os: linux
|
dist: bionic
|
name: "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: "Travis CI VM"
|
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
|
- os: linux
|
dist: bionic
|
name: "Travis CI VM - Debug build"
|
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
|
- lcov
|
before_script:
|
- 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
|
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 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 && CTEST_OUTPUT_ON_FAILURE=1 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 && CTEST_OUTPUT_ON_FAILURE=1 VIRTUAL_ENV=DOCKER make test"
|
- os: linux
|
dist: focal
|
name: "MinGW cross-compile for Windows x64"
|
env:
|
- CTEST_OUTPUT_ON_FAILURE=1
|
- WINEARCH=win64
|
addons:
|
apt:
|
update: true
|
packages:
|
- cmake
|
- binutils-mingw-w64
|
- mingw-w64
|
- mingw-w64-tools
|
- mingw-w64-x86-64-dev
|
- wine64-development
|
- wine64-development-preloader
|
- wine-development
|
- wine64
|
- p7zip-full
|
before_script:
|
- sudo ln -s /usr/bin/x86_64-w64-mingw32-g++ /usr/local/bin/g++-mingw
|
- cd build
|
- wget -c https://boostorg.jfrog.io/artifactory/main/release/1.71.0/source/boost_1_71_0.tar.bz2
|
- tar xjf boost_1_71_0.tar.bz2
|
- cd boost_1_71_0
|
- ./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 ..
|
- wget --no-check-certificate https://github.com/open-license-manager/build-dependencies/raw/main/openssl/openssl-dev-1.0.2s-x86_64-win-mingw-w64.zip -O openssl.zip
|
- unzip openssl.zip
|
- 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/ ..
|
- os: windows
|
name: "Widnows server 1803 - Visual Studio 15 2017 Win64 - (/MD)"
|
before_script:
|
- choco install -y boost-msvc-14.1
|
- cd "${TRAVIS_BUILD_DIR}/build"
|
- cmake -G "Visual Studio 15 2017 Win64" -DBOOST_ROOT="C:/local/boost_1_74_0" ..
|
|
- os: windows
|
name: "Widnows server 1803 - Visual Studio 15 2017 Win64 - (/MT)"
|
before_script:
|
- choco install -y boost-msvc-14.1
|
- cd build && cmake -G "Visual Studio 15 2017 Win64" -DBOOST_ROOT="C:/local/boost_1_74_0" -DSTATIC_RUNTIME=1 ..
|
- os: windows
|
name: "Widnows server 1803 - MinGW Win64"
|
cache:
|
edge: true
|
directories:
|
- "./boost-mingw"
|
before_script:
|
- |
|
if [ -d "${TRAVIS_BUILD_DIR}/boost-mingw/lib" ]; then
|
echo "Boost already installed"
|
else
|
echo "Boost not cached, compiling it"
|
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=${TRAVIS_BUILD_DIR}/boost-mingw install
|
echo "Boost installed"
|
cd ${TRAVIS_BUILD_DIR}/boost-mingw/lib
|
dir
|
fi
|
- cd "${TRAVIS_BUILD_DIR}"
|
- 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
|
|
env:
|
- CTEST_OUTPUT_ON_FAILURE=1
|
before_script:
|
- cd build && cmake -DCMAKE_INSTALL_PREFIX=../../install ..
|
|
script:
|
- cmake --build . --target install --config Release
|
- ctest -C Release
|
|