blob: 46d1ed9984ba25ecb24cd6026a3868c76de81f15 [file] [log] [blame]
Radek Krejcic22fd3a2016-01-19 14:14:32 +01001language: c
2
Michal Vasko7f5c1c62016-07-21 13:42:53 +02003matrix:
4 include:
5 - os: linux
6 dist: trusty
7 sudo: required
8 compiler: clang
Juraj Vijtiuk80951fc2020-11-10 02:52:59 +01009 env: SANITIZE="OFF"
10 - os: linux
11 dist: trusty
12 sudo: required
13 compiler: clang
14 env: SANITIZE="ON"
Michal Vasko7f5c1c62016-07-21 13:42:53 +020015 - os: linux
16 dist: trusty
17 sudo: required
18 compiler: gcc
Juraj Vijtiuk80951fc2020-11-10 02:52:59 +010019 env: SANITIZE="OFF"
Michal Vasko7f5c1c62016-07-21 13:42:53 +020020 - os: osx
21 compiler: gcc
Juraj Vijtiuk80951fc2020-11-10 02:52:59 +010022 env: SANITIZE="OFF"
Michal Vasko7f5c1c62016-07-21 13:42:53 +020023 allow_failures:
24 - os: osx
Radek Krejcic22fd3a2016-01-19 14:14:32 +010025
26branches:
27 only:
28 - master
29 - devel
30
31before_install:
Michal Vasko1d70e102018-03-23 13:31:21 +010032 - eval "${MATRIX_EVAL}"
Michal Vasko7f5c1c62016-07-21 13:42:53 +020033 - if [ "$TRAVIS_OS_NAME" = "linux" ]; then bash .travis-deps-linux.sh; fi
34 - if [ "$TRAVIS_OS_NAME" = "linux" -a "$CC" = "gcc" ]; then pip install --user codecov; export CFLAGS="-coverage"; fi
35 - if [ "$TRAVIS_OS_NAME" = "osx" ]; then bash .travis-deps-osx.sh; fi
Radek Krejcic1bf9bf2016-02-04 17:20:37 +010036
Michal Vasko50c8d3e2016-02-25 15:03:15 +010037script:
Claus Klein22091912020-01-20 13:45:47 +010038 - if [ "$TRAVIS_OS_NAME" = "osx" ]; then export OPENSSLFLAGS="-DOPENSSL_ROOT_DIR=/usr/local/opt/openssl"; fi
Juraj Vijtiuk80951fc2020-11-10 02:52:59 +010039 - if [ "$SANITIZE" = "ON" ]; then export SANITIZEFLAGS='-DCMAKE_C_FLAGS="-fsanitize=address,undefined" -DENABLE_VALGRIND_TESTS=OFF'; fi
40 - cd $TRAVIS_BUILD_DIR && mkdir build_none && cd build_none ; cmake -DENABLE_TLS=OFF -DENABLE_SSH=OFF -DENABLE_DNSSEC=OFF $SANITIZEFLAGS .. && make -j2 && ctest --output-on-failure
41 - cd $TRAVIS_BUILD_DIR && mkdir build_tls && cd build_tls ; cmake $OPENSSLFLAGS -DENABLE_TLS=ON -DENABLE_SSH=OFF -DENABLE_DNSSEC=OFF $SANITIZEFLAGS .. && make -j2 && ctest --output-on-failure
42 - cd $TRAVIS_BUILD_DIR && mkdir build_ssh && cd build_ssh ; cmake $OPENSSLFLAGS -DENABLE_TLS=OFF -DENABLE_SSH=ON -DENABLE_DNSSEC=OFF $SANITIZEFLAGS .. && make -j2 && ctest --output-on-failure
43 - cd $TRAVIS_BUILD_DIR && mkdir build_ssh_tls && cd build_ssh_tls ; cmake $OPENSSLFLAGS -DENABLE_TLS=ON -DENABLE_SSH=ON -DENABLE_DNSSEC=OFF $SANITIZEFLAGS .. && make -j2 && ctest --output-on-failure
44 - cd $TRAVIS_BUILD_DIR && mkdir build_all && cd build_all ; cmake $OPENSSLFLAGS -DENABLE_TLS=ON -DENABLE_SSH=ON -DENABLE_DNSSEC=ON $SANITIZEFLAGS .. && make -j2 && ctest --output-on-failure
PavolVican384786e2017-07-12 15:31:20 +020045 - cd -
Radek Krejcic22fd3a2016-01-19 14:14:32 +010046
Radek Krejcic1bf9bf2016-02-04 17:20:37 +010047after_success:
PavolVican384786e2017-07-12 15:31:20 +020048 - if [ "$TRAVIS_OS_NAME" = "linux" -a "$CC" = "gcc" ]; then codecov; ./packages/create-package.sh; fi