Fix incorrect class/method names in debug logging
[xapian.git] / .travis.yml
blob0003b3eb6db80f65acc753c1ad552be185d918c4
1 # Travis configuration for building Xapian. This is fairly intensive, so
2 # we only enable it for pull requests.
4 # Right now, we build on containerised linux, which defaults to the
5 # ancient Ubuntu 12.04 LTS.  Specify "dist: trusty" so we get something
6 # which is "only" 2.5 years old.
7 dist: trusty
8 sudo: false
9 language: cpp
10 env:
11   global:
12     # Tell bootstrap where to clone ./common from
13     - XAPIAN_COMMON_CLONE_URL=https://github.com/xapian/xapian.git
14     - HOMEBREW_PACKAGES='help2man graphviz pngcrush libmagic pcre libsvm lua mono python3'
15 matrix:
16   include:
17     - compiler: gcc
18       os: linux
19       addons:
20         apt:
21           packages:
22             - doxygen
23             - graphviz
24             - help2man
25             - python-docutils
26             - pngcrush
27             - python-sphinx
28             - uuid-dev
29             - libpcre3-dev
30             - libmagic-dev
31             - lua5.2
32             - liblua5.2-dev
33             - mono-devel
34             - python-dev
35             - python3-dev
36             - tcl
37             - libsvm-dev
38     - compiler: clang
39       os: linux
40       # Clang is already installed, but we want to build using the
41       # llvm c++ library, not the GCC one. (Otherwise, depending on
42       # the GCC version, there can be issues.)
43       addons:
44         apt:
45           packages:
46             - doxygen
47             - graphviz
48             - help2man
49             - python-docutils
50             - pngcrush
51             - python-sphinx
52             - uuid-dev
53             - libpcre3-dev
54             - libmagic-dev
55             - tcl
56             - libsvm-dev
57             - libc++-dev
58       # We also have to disable an error, because (older?)
59       # perl header files don't play nicely with clang.
60       env: USE_CC=clang USE_CXX='clang++ -stdlib=libc++' CXXFLAGS=-Wno-error=reserved-user-defined-literal
61     - os: osx
62       before_install:
63         - brew update
64         # Work-around crash in doxygen 1.8.13 XML backend:
65         # https://github.com/xapian/xapian/pull/132
66         - brew install doxygen --HEAD
67         # "brew install" unhelpfully errors out if any package listed is
68         # already installed and up-to-date, but travis change what's installed
69         # by default from time to time so it's brittle to just filter out those
70         # installed by default from the list we need.  Instead we ignore the
71         # exit status from "brew install", then check that
72         # "brew list --versions" says all the packages requested are installed.
73         - brew install $HOMEBREW_PACKAGES || true
74         - brew list --versions $HOMEBREW_PACKAGES
75         - pip install sphinx docutils
76         - pip3 install sphinx
77         - mkdir -p /tmp/xapian-libsvm-fixed-include
78         - ln -sF "`ls -1d /usr/local/Cellar/libsvm/3.*/include|tail -n 1`" /tmp/xapian-libsvm-fixed-include/libsvm
79       env: CXXFLAGS=-Wno-error=reserved-user-defined-literal CPPFLAGS=-I/tmp/xapian-libsvm-fixed-include confargs=--prefix=/Users/travis/XapianInstall installcore='make -C xapian-core install'
80     - os: linux
81       # (Ab)use env to label this build:
82       env: dummy="Automated run of xapian-check-patch"
83       # Override before_script to do nothing
84       before_script:
85       # Override script to diff from against the branch point from:
86       # * for a PR, the branch the PR targets
87       # * otherwise, master
88       script:
89         - git diff `[ "$TRAVIS_PULL_REQUEST" = false ] && echo master || echo "$TRAVIS_BRANCH"`...|xapian-maintainer-tools/xapian-check-patch
92 before_script:
93   # Bootstrap everything (including letor, which isn't done
94   # by default), then configure using our chosen compiler.
95   - ./bootstrap xapian-core xapian-applications/omega swig xapian-bindings xapian-letor
96   - ./configure $confargs CC="$USE_CC" CXX="$USE_CXX"
97 script:
98   - make
99   - $installcore
100   - make check -C xapian-bindings VERBOSE=1 AUTOMATED_TESTING=1