blob: f5a0a8ba16e03ba260e30a45bb7f45247a40bfc3 [file] [log] [blame]
Radek Krejci562a8002018-09-18 17:09:54 +02001language: c
Radek Krejci48c987e2019-04-04 11:39:45 +02002sudo: required
3dist: trusty
Radek Krejci562a8002018-09-18 17:09:54 +02004
Radek Krejci48c987e2019-04-04 11:39:45 +02005stages:
6 - name: Test
7 if: type != cron
Radek Krejci48c987e2019-04-04 11:39:45 +02008 - name: Coverity
9 if: type = cron
Radek Krejci5b4b1552019-04-04 13:15:13 +020010
Radek Krejci48c987e2019-04-04 11:39:45 +020011jobs:
Radek Krejci562a8002018-09-18 17:09:54 +020012 include:
Radek Krejci48c987e2019-04-04 11:39:45 +020013 - stage: Coverity
14 name: Coverity night check
15 os: linux
Radek Krejci562a8002018-09-18 17:09:54 +020016 compiler: clang
Radek Krejci48c987e2019-04-04 11:39:45 +020017 branches:
18 only:
19 - libyang2
Radek Krejci4d271eb2019-04-04 11:53:00 +020020 env:
21 # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
22 # via the "travis encrypt" command using the project repo's public key
23 - secure: "jkN1i+W2V5/ULAmpqEOyl6J6hsa9rS8JcBKsjB/Md6sJJprWKepUfQ0UdhrjBYbFJbo1mnjL0sHboTrowBXH59IQquPtw64oF9HzyMcmwr+Dm93hhm/vaI06oXwkxmnQxC0OW7Cttrmo+858lsegZYxrh2p4tgEd6WOtDpJIaQ4="
Radek Krejcid594a162019-04-04 13:39:05 +020024 addons:
25 coverity_scan:
26 project:
27 name: "CESNET/libyang"
28 notification_email: rkrejci@cesnet.cz
29 build_command_prepend: "mkdir build; cd build; cmake ..; make clean"
30 build_command: "make"
Radek Krejci4d271eb2019-04-04 11:53:00 +020031 before_install:
32 - 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
33 - sudo apt-get update -qq
34 script:
35 # do nothing, everything here is done in coverity addon
36 - true
Radek Krejci48c987e2019-04-04 11:39:45 +020037 - stage: Test
38 name: Linux with CLang
39 os: linux
40 compiler: clang
41 branches:
42 only:
43 - libyang2
Radek Krejci4d271eb2019-04-04 11:53:00 +020044 before_install:
45 - wget https://cmocka.org/files/1.1/cmocka-1.1.2.tar.xz
46 - tar -xf cmocka-1.1.2.tar.xz
47 - cd cmocka-1.1.2; mkdir build; cd build; cmake .. && make -j2 && sudo make install; cd ../..
48 - sudo apt-get update -qq; sudo apt-get install -y valgrind
49 script:
50 - mkdir build && cd build; cmake .. && make -j2 && ctest --output-on-failure; cd -
Radek Krejci48c987e2019-04-04 11:39:45 +020051 - stage: Test
52 name: Linux with GCC
53 os: linux
54 compiled: gcc
55 branches:
56 only:
57 - libyang2
Radek Krejci4d271eb2019-04-04 11:53:00 +020058 before_install:
59 - wget https://cmocka.org/files/1.1/cmocka-1.1.2.tar.xz
60 - tar -xf cmocka-1.1.2.tar.xz
61 - cd cmocka-1.1.2; mkdir build; cd build; cmake .. && make -j2 && sudo make install; cd ../..
62 - sudo apt-get update -qq; sudo apt-get install -y valgrind
63 - pip install --user codecov; export CFLAGS="-coverage"
64 script:
65 - mkdir build && cd build; cmake .. && make -j2 && ctest --output-on-failure; cd -
66 after_success:
67 - codecov
Radek Krejci48c987e2019-04-04 11:39:45 +020068 - stage: Test
69 name: OS X with GCC
70 os: osx
Radek Krejci562a8002018-09-18 17:09:54 +020071 compiler: gcc
Radek Krejci48c987e2019-04-04 11:39:45 +020072 allow_failures:
73 - os: osx
74 branches:
75 only:
76 - libyang2
Radek Krejci4d271eb2019-04-04 11:53:00 +020077 before_install:
78 - wget https://cmocka.org/files/1.1/cmocka-1.1.2.tar.xz
79 - tar -xf cmocka-1.1.2.tar.xz
80 - cd cmocka-1.1.2; mkdir build; cd build; cmake .. && make -j2 && sudo make install; cd ../..
81 - brew update
82 script:
83 - mkdir build && cd build; cmake -DENABLE_VALGRIND_TESTS=OFF .. && make -j2 && ctest --output-on-failure; cd -