~umic-mesh/flowgrind/trunk

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# Travis-CI build for flowgrind. See https://travis-ci.org for details.
# Flowgrind also uses Coverity Scan. See https://scan.coverity.com/ for details.

language:
    - c

os:
    - linux
    - osx

compiler:
    - gcc
    - clang

env:
    global:
        # Coverity Scan environment
        - COVERITY_SCAN_PROJECT_NAME="flowgrind/flowgrind"
        - COVERITY_SCAN_NOTIFICATION_EMAIL="developer@flowgrind.net"
        - COVERITY_SCAN_BRANCH_PATTERN="coverity_scan"
        - COVERITY_SCAN_BUILD_COMMAND="make -j2"
        - COVERITY_SCAN_BUILD_URL="https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh"
        - COVERITY_SCAN_BUILD="curl -s $COVERITY_SCAN_BUILD_URL | bash"
        - secure: "By4m1AbnnXIL0ytlYCZRN0r3WdQ2gpVU02nJBtjNuhj6o+rK02kwziDfqCdJjB/UDMW4aCKcPprw+xQrb2j3mujOQOXhLOxeKndIQ/zyeizQ4WqGc9TSS/zLbksu5UaiUL8I+SmVe5KIphk28ca7H6AKQe0TUlEbEnHsM4SAAH4="

    matrix:
        - PACKAGES="" EXTRA_CONFIG="--without-pcap --without-gsl"
        - PACKAGES="" EXTRA_CONFIG="--enable-debug --enable-assert"
        - PACKAGES="gsl libpcap" EXTRA_CONFIG=""
        - PACKAGES="gsl libpcap" EXTRA_CONFIG="--enable-debug --enable-assert"

matrix:
    exclude:
        # Only check clang on OS X
        - os: osx
          compiler: gcc

    include:
        # Covertiy scan should only run once
        - os: linux
          compiler: gcc
          env: COVERITY_SCAN=1 PACKAGES="libgsl0-dev libpcap-dev" EXTRA_CONFIG="--enable-debug --enable-assert"

    allow_failures:
        # Covertiy scan might fail
        - env: COVERITY_SCAN=1 PACKAGES="libgsl0-dev libpcap-dev" EXTRA_CONFIG="--enable-debug --enable-assert"

    # Build will finish as soon as a job has failed, or when the only jobs left allow failures
    fast_finish: true

branches:
    # blacklist branches
    except:
        - debian

before_install:
    - env | sort
    - if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get -qq update; fi
    - if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew update; fi

install:
    - if [ "$TRAVIS_OS_NAME" = "linux" -a "$COVERITY_SCAN" != 1 ]; then sudo apt-get -qq install valgrind; fi
    - if [ "$TRAVIS_OS_NAME" = "linux" ]; then ./scripts/travis.linux.install.deps.sh; fi
    - if [ "$TRAVIS_OS_NAME" = "osx" ]; then ./scripts/travis.osx.install.deps.sh; fi

before_script:
    - autoreconf -i
    - ./configure $EXTRA_CONFIG

script:
    - if [ "$COVERITY_SCAN" != 1 ]; then  make -j2; fi

after_success:
    - if [ "$TRAVIS_OS_NAME" = "linux" -a "$COVERITY_SCAN" != 1 ]; then ./src/flowgrindd; fi
    - if [ "$TRAVIS_OS_NAME" = "linux" -a "$COVERITY_SCAN" != 1 ]; then valgrind --leak-check=full --show-reachable=yes --suppressions=.valgrind.supp ./src/flowgrind -T s=1; fi

notifications:
    email:
        - developer@flowgrind.net