From 90c5a009831c075320ef6bb8fa6467c9a4ccf92c Mon Sep 17 00:00:00 2001 From: Thomas Moulard <thomas.moulard@gmail.com> Date: Wed, 4 Sep 2013 22:27:51 +0900 Subject: [PATCH] [travis] Add Travis and coveralls.io support --- .travis.yml | 29 +++++++++++++++++++++++++++++ .travis/build | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 .travis.yml create mode 100755 .travis/build diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..0d88390 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,29 @@ +after_success: +- coveralls -e _travis/install -e tests +- git config --global user.name "Travis CI" +- git config --global user.email "thomas.moulard+travis@gmail.com" +- git remote set-url origin https://thomas-moulard:${GH_TOKEN}@github.com/stack-of-tasks/dynamic-graph.git +- git fetch origin gh-pages:gh-pages +- cd _travis/build/doc && ../../../cmake/github/update-doxygen-doc.sh +branches: + only: + - master +compiler: +- clang +- gcc +matrix: + allow_failures: + - compiler: clang +before_install: +- git submodule update --init --recursive +- sudo apt-get update -qq +- sudo apt-get install -qq doxygen doxygen-latex libboost-all-dev libeigen3-dev liblapack-dev libblas-dev gfortran python-dev +- sudo pip install cpp-coveralls --use-mirrors +language: cpp +notifications: + email: + - hpp-source@laas.fr +script: ./.travis/build +env: + global: + secure: dXnBor2MQ2eUyh6WqB6FKWWcE3MxzY8fin7xTyA+yJwpUsEgkvXp/4IEzx4CDSIjrLSR4P/MKQby9jnd+vTDOMH1NwXkdQH8c7mn/L3ZshALMKVNZIW6IDNx7jneAMud4/l9KHvauQVdby4cA7gFxbVQi+aPbhnioN4UO0AeLeA= diff --git a/.travis/build b/.travis/build new file mode 100755 index 0000000..b680199 --- /dev/null +++ b/.travis/build @@ -0,0 +1,48 @@ +#!/bin/sh +set -ev + +# Directories. +root_dir=`pwd` +build_dir="$root_dir/_travis/build" +install_dir="$root_dir/_travis/install" + +# Shortcuts. +git_clone="git clone --quiet --recursive" + +# Create layout. +rm -rf "$build_dir" "$install_dir" +mkdir -p "$build_dir" +mkdir -p "$install_dir" + +# Setup environment variables. +export LD_LIBRARY_PATH="$install_dir/lib:$LD_LIBRARY_PATH" +export LD_LIBRARY_PATH="$install_dir/lib/`dpkg-architecture -qDEB_BUILD_MULTIARCH`:$LD_LIBRARY_PATH" +export PKG_CONFIG_PATH="$install_dir/lib/pkgconfig:$PKG_CONFIG_PATH" +export PKG_CONFIG_PATH="$install_dir/lib/`dpkg-architecture -qDEB_BUILD_MULTIARCH`/pkgconfig:$PKG_CONFIG_PATH" + +install_dependency() +{ + echo "--> Compiling $1" + mkdir -p "$build_dir/$1" + cd "$build_dir" + $git_clone "git://github.com/$1" "$1" + cd "$build_dir/$1" + cmake . -DCMAKE_INSTALL_PREFIX:STRING="$install_dir" + make install +} + +# Retrieve jrl-mathtools +install_dependency jrl-umi3218/jrl-mathtools +install_dependency jrl-umi3218/jrl-mal +install_dependency stack-of-tasks/dynamic-graph + +# Compile and run tests +cd "$build_dir" +cmake "$root_dir" -DCMAKE_INSTALL_PREFIX="$install_dir" \ + -DCMAKE_CXX_FLAGS="--coverage" \ + -DCMAKE_EXE_LINKER_FLAGS="--coverage" \ + -DCMAKE_MODULE_LINKER_FLAGS="--coverage" \ + -DCMAKE_INSTALL_PREFIX:STRING="$install_dir" +make +make test +make install -- GitLab