1# Build Configuration for Travis
2dist: trusty
3
4language: cpp
5
6env:
7  global:
8    - CPPFLAGS=""
9    - CONFIGURE_OPTS="--with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2"
10    - NOCONFIGURE=1
11    # COVERITY_SCAN_TOKEN
12    - secure: "k6l/18dpsoPAf0E5RQWCr+rgjbHns0H3k0WzSYovCoVg0B7RVlV8x8OjyEOBzEvXI4aaHRdH6MHCPDFnX4fa7ysImlT6LxxIG8YhDdLkJWyS0hHbcJiGxko9AhAGzOZcDl8fZi13d697wagMqqXpjN5v2T/AQm8t4X9z2otJosY="
13
14matrix:
15  include:
16    - os: linux
17      compiler: gcc
18      script:
19        # Remove the following three lines when Travis updates its distro
20        - export PKG_CONFIG_PATH="$HOME/.local/lib/pkgconfig"
21        - export LD_LIBRARY_PATH="$HOME/.local/lib"
22        - bash .ci/build-freetype.sh
23
24        - ./autogen.sh
25        - ./configure $CONFIGURE_OPTS --enable-gtk-doc --enable-code-coverage
26        - make
27        - make check || .ci/fail.sh
28        - rm -rf freetype-2.9
29      after_success:
30        - bash .ci/run-coveralls.sh # coveralls.io code coverage
31        - bash <(curl -s https://codecov.io/bash) # codecov.io code coverage
32        - bash .ci/deploy-docs.sh
33        - bash .ci/trigger-coverity.sh
34
35    - os: linux
36      compiler: clang
37      script:
38        # Remove the following three lines when Travis updates its distro
39        - export PKG_CONFIG_PATH="$HOME/.local/lib/pkgconfig"
40        - export LD_LIBRARY_PATH="$HOME/.local/lib"
41        - bash .ci/build-freetype.sh
42
43        - ./autogen.sh
44        - ./configure $CONFIGURE_OPTS
45        - make
46        - make check || .ci/fail.sh
47
48notifications:
49  irc: "irc.freenode.org#harfbuzz"
50  email: harfbuzz-bots-chatter@googlegroups.com
51
52cache:
53  directories:
54    - /home/travis/.local
55
56addons:
57  apt:
58    packages:
59      - pkg-config # for autogen.sh
60      - ragel
61      - lcov
62      - gtk-doc-tools
63      - libfreetype6-dev # for font function
64      - libglib2.0-dev # for font functions / tests / utils
65      - libcairo2-dev # for utils
66      - libicu-dev # for extra unicode functions
67      - libgraphite2-dev # for extra shapers
68      #- libgirepository1.0-dev # for gobject-introspection
69
70  coverity_scan:
71    project:
72      name: behdad/harfbuzz
73      version: 1.0
74      description: HarfBuzz OpenType text shaping engine
75    notification_email: harfbuzz-bots-chatter@googlegroups.com
76    build_command_prepend: ./autogen.sh --with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2
77    build_command: make
78    branch_pattern: coverity_scan
79