Add Travis CI config and build script

This commit is contained in:
Tobias Brunner
2014-03-20 15:29:27 +01:00
parent 0e6f3a380a
commit d151cd283e
2 changed files with 87 additions and 0 deletions
+38
View File
@@ -0,0 +1,38 @@
language: c
compiler:
- gcc
before_install:
- sudo apt-get update -qq
- sudo apt-get install -qq bison flex gperf gettext
# TODO: modularize this to speed up builds (e.g. call 'test.sh deps' to do this for the current TEST)
- sudo apt-get install -qq libgmp-dev libssl-dev libgcrypt11-dev
- sudo apt-get install -qq libcurl4-gnutls-dev libsoup2.4-dev
- sudo apt-get install -qq libunbound-dev libldns-dev
- sudo apt-get install -qq libmysqlclient-dev libsqlite3-dev
- sudo apt-get install -qq clearsilver-dev libfcgi-dev
- sudo apt-get install -qq libnm-glib-dev libnm-glib-vpn-dev
- sudo apt-get install -qq libpcsclite-dev libpam0g-dev
- sudo apt-get install -qq binutils-dev libunwind7-dev
script:
- ./autogen.sh
- ./scripts/test.sh
env:
global:
- TESTS_REDUCED_KEYLENGTHS=yes
- LEAK_DETECTIVE=no
- MONOLITHIC=no
matrix:
- TEST=default
- TEST=default MONOLITHIC=yes
- TEST=default LEAK_DETECTIVE=yes
- TEST=openssl
- TEST=openssl LEAK_DETECTIVE=yes
# libgcrypt can't be deinitialized so we can't test it with leak detective
- TEST=gcrypt
- TEST=all
- TEST=all MONOLITHIC=yes
- TEST=dist
+49
View File
@@ -0,0 +1,49 @@
#!/bin/sh
# Build script for Travis CI
if test -z $TRAVIS_BUILD_DIR; then
TRAVIS_BUILD_DIR=$PWD
fi
cd $TRAVIS_BUILD_DIR
TARGET=check
case "$TEST" in
default)
;;
openssl)
CONFIG="--disable-defaults --enable-tools --enable-openssl"
;;
gcrypt)
CONFIG="--disable-defaults --enable-tools --enable-gcrypt --enable-pkcs1"
;;
all)
CONFIG="--enable-all --disable-android-dns --disable-android-log
--disable-dumm --disable-kernel-pfroute --disable-keychain
--disable-lock-profiler --disable-maemo --disable-padlock
--disable-osx-attr --disable-tkm --disable-uci"
# not enabled on the build server
CONFIG="$CONFIG --disable-af-alg"
# TODO: add tests for different printf implementations?
CONFIG="$CONFIG --disable-vstr"
# TODO: enable? perhaps via coveralls.io (cpp-coveralls)?
CONFIG="$CONFIG --disable-coverage"
;;
dist)
TARGET=distcheck
;;
*)
echo "$0: unknown test $TEST" >&2
exit 1
;;
esac
CONFIG="$CONFIG
--enable-silent-rules
--enable-test-vectors
--enable-monolithic=${MONOLITHIC-no}
--enable-leak-detective=${LEAK_DETECTIVE-no}"
echo "$ ./configure $CONFIG && make $TARGET"
./configure $CONFIG && make $TARGET