Skip to content

Commit

Permalink
travis: Switch to use Docker with Fedora image
Browse files Browse the repository at this point in the history
  • Loading branch information
ueno committed Mar 27, 2017
1 parent 5bdbec7 commit e5adcf4
Showing 1 changed file with 32 additions and 20 deletions.
52 changes: 32 additions & 20 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,29 +1,41 @@
sudo: required

language: c

env:
matrix:
- VALAC=valac-0.24
- BUILD_OPTS="--prefix=/usr --libdir=/usr/lib64"
- BUILD_OPTS="--prefix=/usr --libdir=/usr/lib64 CFLAGS='-fsanitize=address -g -fno-common -U_FORTIFY_SOURCE' CXXFLAGS='-fsanitize=address -g -fno-common -U_FORTIFY_SOURCE' LDFLAGS='-fsanitize=address -g -fno-common -U_FORTIFY_SOURCE' LIBS='-ldl -lpthread'"
- BUILD_OPTS="--prefix=/usr --libdir=/usr/lib64 CFLAGS='-fsanitize=undefined -g -fno-common -U_FORTIFY_SOURCE' CXXFLAGS='-fsanitize=undefined -g -fno-common -U_FORTIFY_SOURCE' LDFLAGS='-fsanitize=undefined -g -fno-common -U_FORTIFY_SOURCE' LIBS='-ldl -lpthread'"

matrix:
allow_failures:
- env: BUILD_OPTS="--prefix=/usr --libdir=/usr/lib64 CFLAGS='-fsanitize=address -g -fno-common -U_FORTIFY_SOURCE' CXXFLAGS='-fsanitize=address -g -fno-common -U_FORTIFY_SOURCE' LDFLAGS='-fsanitize=address -g -fno-common -U_FORTIFY_SOURCE' LIBS='-ldl -lpthread'"

services:
- docker

before_install:
- sudo pip install cpp-coveralls
- docker pull fedora
- export CONTAINER=$(docker run -d fedora sleep 1800)
- docker exec $CONTAINER dnf -y install 'dnf-command(builddep)'
- docker exec $CONTAINER dnf -y builddep libkkc
- docker exec $CONTAINER dnf -y install gettext-devel libtool make which
- docker exec $CONTAINER dnf -y install gcc-c++ redhat-rpm-config
- docker exec $CONTAINER dnf -y install libasan libubsan
- docker exec $CONTAINER dnf -y install vala vala-devel
- docker exec $CONTAINER dnf -y install gnome-common
- docker exec $CONTAINER dnf -y install python-pip
- docker exec $CONTAINER useradd user

install:
- if [ "$VALAC" = "valac-0.24" ]; then
sudo add-apt-repository -y ppa:vala-team &&
sudo apt-get update -qq &&
sudo apt-get install -qq autotools-dev gnome-common gobject-introspection intltool libgee-0.8-dev libgirepository1.0-dev libjson-glib-dev python-dev "$VALAC";
fi
- docker cp . $CONTAINER:/srcdir
- docker exec $CONTAINER chown -R user /srcdir

script:
- wget https://marisa-trie.googlecode.com/files/marisa-0.2.4.tar.gz &&
tar xf marisa-0.2.4.tar.gz &&
(cd marisa-0.2.4 &&
./configure --prefix=$PWD/../install &&
make && make install &&
cd bindings/python &&
CFLAGS=-I$PWD/../../../install/include LDFLAGS=-L$PWD/../../../install/lib python setup.py build &&
python setup.py install --user)
- export PKG_CONFIG_PATH=$PWD/install/lib/pkgconfig
- export LD_LIBRARY_PATH=$PWD/install/lib
- ./autogen.sh --enable-code-coverage && make && touch po/libkkc.pot && make check
- docker exec $CONTAINER su - user sh -c "cd /srcdir && NOCONFIGURE=1 ./autogen.sh"
- docker exec $CONTAINER su - user sh -c "cd /srcdir && ./configure --enable-code-coverage $BUILD_OPTS"
- docker exec $CONTAINER su - user sh -c "cd /srcdir && make V=1 && touch po/libkkc.pot && make check V=1"

after_success:
- coveralls --exclude lib --exclude tests --gcov-options '\-lp'
- docker exec $CONTAINER pip install cpp-coveralls
- docker exec $CONTAINER coveralls --exclude lib --exclude tests --gcov-options '\-lp'

0 comments on commit e5adcf4

Please sign in to comment.