Merge pull request #1563 from jacobbaungard/ipv6_check_icmp
[monitoring-plugins.git] / .travis.yml
blob946345c4e415ccbf5b63d97bb8a2ac9aa81fe5c1
1 sudo: required
2 dist: xenial
3 language: c
5 env:
6   global:
7     # This is the encrypted COVERITY_SCAN_TOKEN, created via the "travis
8     # encrypt" command using the project repository's public key.
9     - secure: "ggJ9c/VfKcwtrwz/My+ne4My7D8g3qi3vz5Hh+yLiri0+oIXCy313ZD6ssIEY/5beQZEOnuHhBgBJd/Y3clSQNc2M9fRNc+wxOkIO992lgnY0MZJN3y9MLfpqUbTClhU9Fst0qXQqGpI6UI8yz1tj7yKi7DPrycJLRrjMpyTfyo="
11 matrix:
12   include:
13     - compiler: "gcc"
14       os: linux
15       env:
16         - PLATFORM=linux BITS=64 HOST=x86_64
17       addons:
18         coverity_scan:
19           project:
20             name: "monitoring-plugins/monitoring-plugins"
21             description: "Monitoring Plugins"
22           notification_email: team@monitoring-plugins.org
23           build_command_prepend: tools/setup && ./configure
24           build_command: make
25           branch_pattern: coverity.*
26     - compiler: "clang"
27       os: linux
28       env:
29         - PLATFORM=linux BITS=64 HOST=x86_64
31 before_install:
32   # Trusty related fixed
33   # multiverse is no on trusty activated (https://github.com/travis-ci/travis-ci/issues/4979)
34   - sudo apt-get install -qq --no-install-recommends software-properties-common
35   - sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu/ trusty multiverse" && sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu/ trusty-updates multiverse"
36   # /etc/hosts has IPv6 hosts (https://github.com/travis-ci/travis-ci/issues/4978)
37   - sudo [ $(ip addr show | grep "inet6 ::1" | wc -l) -eq "0" ] || sudo sed -i '/^::1/d' /etc/hosts
38   # Trusty has running ntpd on localhost, but we don't like that for our tests
39   - "sudo killall -9 ntpd ||:"
40   # Trusty has no swap, lets create some
41   - sudo fallocate -l 20M /swapfile; sudo chmod 600 /swapfile; sudo mkswap /swapfile; sudo swapon /swapfile
42   - sudo apt-get update -qq
43   - sudo apt-get purge -qq gawk
45 install:
46   - sudo apt-get install -qq --no-install-recommends perl autotools-dev libdbi-dev libldap2-dev libpq-dev libmysqlclient-dev libradcli-dev libkrb5-dev libnet-snmp-perl procps
47   - sudo apt-get install -qq --no-install-recommends libdbi0-dev libdbd-sqlite3 libssl-dev dnsutils snmp-mibs-downloader libsnmp-perl snmpd
48   - sudo apt-get install -qq --no-install-recommends fping snmp netcat smbclient fping pure-ftpd apache2 ssl-cert postfix libhttp-daemon-ssl-perl
49   - sudo apt-get install -qq --no-install-recommends libdbd-sybase-perl libnet-dns-perl
50   - sudo apt-get install -qq --no-install-recommends slapd ldap-utils
51   - sudo apt-get install -qq --no-install-recommends autoconf automake
52   - sudo apt-get install -qq --no-install-recommends faketime
53   - sudo apt-get install -qq --no-install-recommends libmonitoring-plugin-perl
54   - sudo apt-get install -qq --no-install-recommends squid
55   # Trusty related dependencies (not yet provided)
56   - test "$(dpkg -l | grep -E "mysql-(client|server)-[0-9].[0-9]" | grep -c ^ii)" -gt 0 || sudo apt-get install -qq --no-install-recommends mariadb-client mariadb-server
57   # enable ssl apache
58   - sudo a2enmod ssl
59   - sudo a2ensite default-ssl
60   - sudo make-ssl-cert generate-default-snakeoil --force-overwrite
61   - sudo service apache2 reload
62   - sudo cp tools/squid.conf /etc/squid/squid.conf
63   - sudo service squid reload
64   - sudo service mysql restart
66 before_script:
67   # ensure we have a test database in place for tests
68   - mysql -e "create database IF NOT EXISTS test;" -uroot
69   # Detect LDAP configuration (seems  volatile on trusty env)
70   - sed -e 's/cn=admin,dc=nodomain/'$(sudo /usr/sbin/slapcat|grep ^dn:|grep cn=|awk '{print $2}')'/' -i plugins/t/NPTest.cache.travis
71   - tools/setup
72   - ./configure --enable-libtap
73   - make
74   - export NPTEST_ACCEPTDEFAULT=1
75   - export NPTEST_CACHE="$(pwd)/plugins/t/NPTest.cache.travis"
76   - ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
77   - cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
78   - ssh-keyscan localhost >> ~/.ssh/known_hosts
79   - touch ~/.ssh/config
80   - sudo rm -f /usr/share/mibs/ietf/SNMPv2-PDU /usr/share/mibs/ietf/IPSEC-SPD-MIB /usr/share/mibs/ietf/IPATM-IPMC-MIB /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
81   - sudo mkdir -p /var/lib/snmp/mib_indexes
82   - sudo mkdir /media/ramdisk && sudo chmod 777 /media/ramdisk && sudo mount -t tmpfs -o size=20% none /media/ramdisk
83   - sed "/NP_HOST_TLS_CERT/s/.*/'NP_HOST_TLS_CERT' => '$(hostname)',/" -i $NPTEST_CACHE
85 script:
86   - if [ "$COVERITY_SCAN_BRANCH" != 1 ]; then make test; fi
88 notifications:
89   irc:
90     channels:
91       - "chat.freenode.net#Monitoring-Plugins"
92     on_success: change
93     on_failure: always
94     skip_join: true
95   email:
96     # - team@monitoring-plugins.org