blob: 23157424834eb91faf319c0cbb620b262bb31510 [file] [log] [blame]
Bram Moolenaar0600f352015-09-15 19:18:18 +02001language: c
2
Bram Moolenaarb20617b2016-07-30 17:41:49 +02003os:
4 - osx
5 - linux
6
Bram Moolenaar0600f352015-09-15 19:18:18 +02007compiler:
8 - clang
9 - gcc
10
11env:
Bram Moolenaar2cb70a22016-07-16 21:58:01 +020012 - BUILD=yes TEST=scripttests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
Bram Moolenaar0600f352015-09-15 19:18:18 +020013 "CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp'"
Bram Moolenaarb20617b2016-07-30 17:41:49 +020014 - BUILD=no TEST=unittests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
Bram Moolenaar1a9f9472016-07-16 21:18:34 +020015 - BUILD=yes TEST=test COVERAGE=no FEATURES=normal CONFOPT= SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow CHECK_AUTOCONF=no
16 - BUILD=yes TEST=test COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
17 - BUILD=yes TEST=test COVERAGE=no FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
Bram Moolenaarb20617b2016-07-30 17:41:49 +020018 # Mac OSX build
19 - BUILD=yes TEST=test COVERAGE=no FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
20 "CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
Bram Moolenaar1e076332017-01-26 20:11:12 +010021 # ASAN build
22 - BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -fsanitize=address -fno-omit-frame-pointer" FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no
23 "CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
Bram Moolenaar0600f352015-09-15 19:18:18 +020024
25sudo: false
26
Bram Moolenaarb20617b2016-07-30 17:41:49 +020027git:
Bram Moolenaar3834e3d2017-02-23 20:20:53 +010028 depth: 20
Bram Moolenaarb20617b2016-07-30 17:41:49 +020029
Bram Moolenaar1e076332017-01-26 20:11:12 +010030# instead of a 2*2*8 matrix (2*os + 2*compiler + 8*env),
Bram Moolenaarb20617b2016-07-30 17:41:49 +020031# exclude some builds on mac os x and linux
32# linux: 2*compiler + 5*env + mac: 2*compiler + 2*env
33matrix:
34 exclude:
35 - os: osx
36 env: BUILD=yes TEST=test COVERAGE=no FEATURES=normal CONFOPT= SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow CHECK_AUTOCONF=no
37 - os: osx
38 env: BUILD=no TEST=unittests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
39 - os: osx
40 env: BUILD=yes TEST=test COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
41 - os: osx
42 env: BUILD=yes TEST=scripttests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
43 "CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp'"
Bram Moolenaar1e076332017-01-26 20:11:12 +010044 - os: osx
45 env: BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -fsanitize=address -fno-omit-frame-pointer" FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no
46 "CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
47 - os: linux
48 compiler: gcc
49 env: BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -fsanitize=address -fno-omit-frame-pointer" FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no
50 "CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
Bram Moolenaarb20617b2016-07-30 17:41:49 +020051 - os: linux
52 compiler: clang
53 env: BUILD=no TEST=unittests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
54 - os: linux
55 compiler: clang
56 env: BUILD=yes TEST=test COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
57 - os: linux
58 env: BUILD=yes TEST=test COVERAGE=no FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
59 "CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
60
Bram Moolenaarc1d20992015-09-25 20:30:58 +020061branches:
62 except:
63 - /^v[0-9]/
64
Bram Moolenaar0600f352015-09-15 19:18:18 +020065addons:
66 apt:
67 packages:
Bram Moolenaar7b5f0a12015-12-30 17:40:43 +010068 - autoconf
Bram Moolenaar0600f352015-09-15 19:18:18 +020069 - lcov
70 - libperl-dev
71 - python-dev
72 - python3-dev
73 - liblua5.1-0-dev
74 - lua5.1
Bram Moolenaar47247282016-08-02 22:36:02 +020075 - cscope
Bram Moolenaar0600f352015-09-15 19:18:18 +020076
77before_install:
Bram Moolenaar4f7090b2017-01-26 21:24:02 +010078 - if [ "$COVERAGE" = "yes" ]; then pip install --user cpp-coveralls; fi
79 # needed for https support for coveralls
80 # building cffi only works with gcc, not with clang
81 - if [ "$COVERAGE" = "yes" ]; then CC=gcc pip install --user pyopenssl ndg-httpsclient pyasn1; fi
Bram Moolenaarb20617b2016-07-30 17:41:49 +020082 # Lua is not installed on Travis OSX
83 - if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew install lua; export LUA_PREFIX=/usr/local; fi
Bram Moolenaar0600f352015-09-15 19:18:18 +020084
Bram Moolenaarb6be3ea2016-11-12 18:30:39 +010085# Start virtual framebuffer to be able to test the GUI. Does not work on OS X.
Bram Moolenaare3505df2016-11-11 21:57:45 +010086before_script:
Bram Moolenaarb6be3ea2016-11-12 18:30:39 +010087 - if [ "$TRAVIS_OS_NAME" = "linux" ]; then export DISPLAY=:99.0 && sh -e /etc/init.d/xvfb start && sleep 3; fi
Bram Moolenaare3505df2016-11-11 21:57:45 +010088
Bram Moolenaar0600f352015-09-15 19:18:18 +020089script:
90 - NPROC=$(getconf _NPROCESSORS_ONLN)
Bram Moolenaar7b5f0a12015-12-30 17:40:43 +010091 - if [ "$CHECK_AUTOCONF" = "yes" -a "$CC" = "gcc" ]; then make -C src autoconf; fi
Bram Moolenaar1a9f9472016-07-16 21:18:34 +020092 - if [ "x$SHADOWOPT" != x ]; then make -C src shadow; fi
Bram Moolenaar87776a12016-07-16 21:37:49 +020093 - (cd ${SRCDIR} && ./configure --with-features=$FEATURES $CONFOPT --enable-fail-if-missing && if [ "$BUILD" = "yes" ]; then make -j$NPROC; fi)
94 - if [ "$BUILD" = "yes" ]; then ${SRCDIR}/vim --version; fi
Bram Moolenaar1a9f9472016-07-16 21:18:34 +020095 - make $SHADOWOPT $TEST
Bram Moolenaar0600f352015-09-15 19:18:18 +020096
97after_success:
Bram Moolenaar87776a12016-07-16 21:37:49 +020098 - if [ "$COVERAGE" = "yes" ]; then ~/.local/bin/coveralls -b $SRCDIR -x .xs -e ${SRCDIR}/xxd -e ${SRCDIR}/if_perl.c --encodings utf-8 latin-1 EUC-KR; fi
Bram Moolenaar0600f352015-09-15 19:18:18 +020099
100# vim:set sts=2 sw=2 tw=0 et: