blob: 9537c462b83778d1c02aba2e45c0fac997c50e2a [file] [log] [blame]
language: c
sudo: required
dist: trusty
stages:
- name: Test
if: type != cron
- name: Coverity
if: type = cron
addons:
- if: type = cron
coverity_scan:
project:
name: "CESNET/libyang"
notification_email: rkrejci@cesnet.cz
build_command_prepend: "mkdir build; cd build; cmake ..; make clean"
build_command: "make"
jobs:
include:
- stage: Coverity
name: Coverity night check
os: linux
compiler: clang
branches:
only:
- libyang2
env:
# The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
# via the "travis encrypt" command using the project repo's public key
- secure: "jkN1i+W2V5/ULAmpqEOyl6J6hsa9rS8JcBKsjB/Md6sJJprWKepUfQ0UdhrjBYbFJbo1mnjL0sHboTrowBXH59IQquPtw64oF9HzyMcmwr+Dm93hhm/vaI06oXwkxmnQxC0OW7Cttrmo+858lsegZYxrh2p4tgEd6WOtDpJIaQ4="
before_install:
- echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-certificates.crt
- sudo apt-get update -qq
script:
# do nothing, everything here is done in coverity addon
- true
- stage: Test
name: Linux with CLang
os: linux
compiler: clang
branches:
only:
- libyang2
before_install:
- wget https://cmocka.org/files/1.1/cmocka-1.1.2.tar.xz
- tar -xf cmocka-1.1.2.tar.xz
- cd cmocka-1.1.2; mkdir build; cd build; cmake .. && make -j2 && sudo make install; cd ../..
- sudo apt-get update -qq; sudo apt-get install -y valgrind
script:
- mkdir build && cd build; cmake .. && make -j2 && ctest --output-on-failure; cd -
- stage: Test
name: Linux with GCC
os: linux
compiled: gcc
branches:
only:
- libyang2
before_install:
- wget https://cmocka.org/files/1.1/cmocka-1.1.2.tar.xz
- tar -xf cmocka-1.1.2.tar.xz
- cd cmocka-1.1.2; mkdir build; cd build; cmake .. && make -j2 && sudo make install; cd ../..
- sudo apt-get update -qq; sudo apt-get install -y valgrind
- pip install --user codecov; export CFLAGS="-coverage"
script:
- mkdir build && cd build; cmake .. && make -j2 && ctest --output-on-failure; cd -
after_success:
- codecov
- stage: Test
name: OS X with GCC
os: osx
compiler: gcc
allow_failures:
- os: osx
branches:
only:
- libyang2
before_install:
- wget https://cmocka.org/files/1.1/cmocka-1.1.2.tar.xz
- tar -xf cmocka-1.1.2.tar.xz
- cd cmocka-1.1.2; mkdir build; cd build; cmake .. && make -j2 && sudo make install; cd ../..
- brew update
script:
- mkdir build && cd build; cmake -DENABLE_VALGRIND_TESTS=OFF .. && make -j2 && ctest --output-on-failure; cd -