summaryrefslogtreecommitdiffstats
path: root/.travis.yml
blob: 03918b21f305a8d0f26a78d5c498c392f1eb1fcc (plain)
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
sudo: required
dist: trusty
language: c
env:
  global:
   # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
   #   via the "travis encrypt" command using the project repo's public key
   - secure: "Uodrn3x36plX2yk4+c7eimCuv7j6p6n1XCNbNEYxibRX77730eQMCVS0BvM40OgD7m5K9s2hIQaMV7EMj3qKuRmemULDVJVTgNd1fbx6t4BhYh+Hrf6FhsNcm9nFxvQQrdJAVSOwIAlrUilVFotDRt9qKqLwwZiBKIs5gBPcHQY="

addons:
    coverity_scan:
      project:
        name: "DaveDavenport/rofi"
        description: "Build submitted via Travis CI"
      notification_email: qball@gmpclient.org
      build_command_prepend: "autoreconf -i;./configure; make clean"
      build_command:   "make"
      branch_pattern: coverity_scan
    apt:
        packages:
            - python3.5
            - autoconf
            - automake
            - make
            - xutils-dev
            - libpango1.0-dev
            - libcairo2-dev
            - libstartup-notification0-dev
            - libxcb-ewmh-dev
            - libxcb-icccm4-dev
            - libxcb-util0-dev
            - libxcb-xinerama0-dev
            - libxcb-xkb-dev
            - libxcb-randr0-dev
            - libxcb1-dev
            - libxkbcommon-dev
            - libxkbcommon-x11-dev
            - xvfb
            - discount
            - xdotool
            - fluxbox
            - xterm
            - gdb
            - lcov
            - doxygen
            - graphviz
            - texinfo
            - texi2html
            - xfonts-base

compiler:
    - gcc

before_install:
    - sudo add-apt-repository -y 'deb https://archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse'
    - sudo add-apt-repository -y 'deb https://debian.jpleau.ca/ jessie-backports main contrib non-free'
    - sudo apt-get update -qq
    - echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-


# TODO: We install xkbcommon here, until Travis use an up-to-date enough Ubuntu
install:
    - sudo apt-get install -y --force-yes flex/trusty-backports libfl-dev/trusty-backports
    - wget https://github.com/mesonbuild/meson/releases/download/0.47.0/meson-0.47.0.tar.gz
    - tar xf meson-0.47.0.tar.gz
    - wget https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-linux.zip
    - export MESON=$(pwd)/meson-0.47.0/meson.py
    - unzip ninja-linux.zip
    - export PATH=$(pwd):$PATH
    - git clone https://github.com/alobbs/doxy-coverage
    - git clone --recursive https://github.com/Airblader/xcb-util-xrm.git
    - cd xcb-util-xrm
    - ./autogen.sh --prefix=/usr
    - make
    - sudo make install
    - cd -
    - git clone https://github.com/libcheck/check/ -b 0.11.0
    - cd check
    - autoreconf -i
    - TEX="false" ./configure --prefix=/usr/
    - make
    - sudo make install
    - cd -

before_script:
    - python3.5 ${MESON} build -Db_coverage=true

script:
    - ninja -C build
    - ninja -C build test
    - ulimit -c unlimited
    - ninja -C build test-x
    - ninja -C build doc/html 2>&1 > doxygen.log
    - test $(grep -c warning doxygen.log) -eq 0
    - ./doxy-coverage/doxy-coverage.py build/doc/html/xml/

after_success:
      - bash <(curl -s https://codecov.io/bash)

notifications:
    webhooks:
        urls:
            - secure: "AqDM5SkWJPSBeCiyGdXzHYLnFCML/vKxWW/0wE00ocX+97Fa5ixeU7apMJ0OMZ0ZQVXG96xVtlJ513ZSpnRYHx6FF+Ivvw5pYeZjKHqtxThEhOueW1YynYWMX7HJrA4P19ollqRLrtsJqG6x7BhVEnIyhyu9eXtgj6hiI70F0SE="
        on_success: change