-sudo: required
-dist: xenial
+dist: bionic
os: linux
language: c
-addons:
- apt:
- packages: [ cpanminus ]
- homebrew:
- packages: [ cpanminus ]
-
env:
global:
- PREFIX=${HOME}/opt
matrix:
include:
- - os: linux
+ - name: linux/gcc/x86_64/openssl-master
+ os: linux
+ compiler: gcc
+ - name: linux/gcc/x86_64/openssl-1.1.1
+ os: linux
+ compiler: gcc
+ env: OPENSSL_BRANCH=OpenSSL_1_1_1-stable
+ if: type != cron
+ - name: linux/gcc/ppc64le/openssl-master
+ os: linux
+ arch: ppc64le
compiler: gcc
- - env: LABEL="linux-ppc64le" CMAKE_VERSION=3.15.1
- os: linux-ppc64le
+ - name: linux/gcc+ASan/x86_64/openssl-master
+ env: ASAN=-DASAN=1
+ os: linux
compiler: gcc
- install:
- - wget https://cmake.org/files/v${CMAKE_VERSION%.*}/cmake-${CMAKE_VERSION}.tar.gz && tar -xzf cmake-${CMAKE_VERSION}.tar.gz
- - cd cmake-${CMAKE_VERSION} && ./bootstrap && sudo make install && cd ..
- - env: ASAN=-DASAN=1
+ - name: linux/gcc+Coverity/x86_64 (cron)
+ env: COVERITY_SCAN_PROJECT_NAME="gost-engine" COVERITY_SCAN_BRANCH_PATTERN="*" COVERITY_SCAN_NOTIFICATION_EMAIL="beldmit@gmail.com" COVERITY_SCAN_BUILD_COMMAND="make"
+ if: type == cron
os: linux
compiler: gcc
- - os: osx
+ script:
+ - mkdir build
+ - cd build
+ - cmake -DOPENSSL_ROOT_DIR=${PREFIX} -DOPENSSL_LIBRARIES=${PREFIX}/lib -DOPENSSL_ENGINES_DIR=${PREFIX}/engines ..
+ - curl -s "https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh" | bash || true
+ - name: linux/gcc/arm64/openssl-master
+ os: linux
+ arch: arm64
+ compiler: gcc
+ - name: osx/clang/x86_64/openssl-master
+ os: osx
compiler: clang
-
before_script:
- curl -L https://cpanmin.us | sudo perl - --sudo App::cpanminus
- sudo cpanm --notest Test2::V0 > build.log 2>&1 || (cat build.log && exit 1)
- git clone --depth 1 -b ${OPENSSL_BRANCH} https://github.com/openssl/openssl.git
- cd openssl
- - ./config shared -d --prefix=${PREFIX} --openssldir=${PREFIX} && make -j$(nproc) all && make install_sw > build.log 2>&1 || (cat build.log && exit 1)
+ - git describe --always --long
+ - ./config shared -d --prefix=${PREFIX} --openssldir=${PREFIX} -Wl,-rpath=${PREFIX}/lib && travis_wait make -s -j$(nproc) all && make -s install_sw
- cd ..
script:
- - if [ "${TRAVIS_OS_NAME}" = "linux" ]; then export LD_LIBRARY_PATH="${PREFIX}/lib:${LD_LIBRARY_PATH:-}"; fi
- - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then export DYLD_LIBRARY_PATH="${PREFIX}/lib:${DYLD_LIBRARY_PATH:-}"; fi
- mkdir build
- cd build
- cmake -DOPENSSL_ROOT_DIR=${PREFIX} -DOPENSSL_LIBRARIES=${PREFIX}/lib -DOPENSSL_ENGINES_DIR=${PREFIX}/engines ${ASAN} ..
- make
- make test CTEST_OUTPUT_ON_FAILURE=1
+ - if [ -z "$ASAN" ]; then make tcl_tests; fi