125 lines
6 KiB
YAML
125 lines
6 KiB
YAML
# Since the Travis CI environment http://docs.travis-ci.com/user/ci-environment/
|
|
# provides GNU GCC 4.6, which does not support -std=c++11 GNU GCC 4.8 is installed
|
|
|
|
# NOTE: Please validate this file after editing it using
|
|
# Travis WebLint https://lint.travis-ci.org/
|
|
# or travis-lint https://github.com/travis-ci/travis-lint
|
|
|
|
language: cpp
|
|
compiler:
|
|
- gcc
|
|
- clang
|
|
os:
|
|
- linux
|
|
- osx
|
|
sudo: false
|
|
cache:
|
|
apt: true
|
|
|
|
env:
|
|
global:
|
|
# Boost version to use:
|
|
# _MIN is used when building the master branch
|
|
# _MAX is used when building any other branch
|
|
- BOOST_VERSION_MIN="1.49.0"
|
|
- BOOST_VERSION_MAX="1.61.0"
|
|
# List of required boost libraries to build
|
|
- BOOST_LIBS="date_time,filesystem,iostreams,python,regex,system,test"
|
|
# List of required Homebrew formulae to install
|
|
- BREWS="gmp,mpfr"
|
|
# Encrypted COVERITY_SCAN_TOKEN
|
|
- secure: "mYNxD1B8WNSvUeKzInehZ7syi2g1jH2ymeSQxoeKKD2duq3pvNWPdZdc4o9MlWQcAqcz58rhFZRIpuEWCnP0LbbJaG+MyuemMn9uAmg9Y4gFpMsBPHuTdf8pO3rDex+tkrr9puEJFgL+QV/TehxO6NDDpx7UdYvJb+4aZD/auYI="
|
|
|
|
matrix:
|
|
exclude:
|
|
- os: linux
|
|
compiler: clang
|
|
# Compiling ledger on Linux with clang
|
|
# either crashes clang or results in a ledger binary that crashes with SIGSEGV.
|
|
- os: osx
|
|
compiler: gcc
|
|
# On Mac OS X building ledger with GNU GCC 4.8 fails due to
|
|
# undefined symbols, maybe because boost was not being built with g++-4.8.
|
|
# Undefined symbols for architecture x86_64:
|
|
# "boost::re_detail::perl_matcher<char const*, std::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)", referenced from:
|
|
# boost::re_detail::perl_matcher<char const*, std::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::perl_matcher(char const*, char const*, boost::match_results<char const*, std::allocator<boost::sub_match<char const*> > >&, boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags, char const*) in main.cc.o
|
|
# boost::re_detail::perl_matcher<char const*, std::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::perl_matcher(char const*, char const*, boost::match_results<char const*, std::allocator<boost::sub_match<char const*> > >&, boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags, char const*) in global.cc.o
|
|
# "boost::re_detail::perl_matcher<char const*, std::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::find()", referenced from:
|
|
# bool boost::regex_search<char const*, char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >(char const*, char const*, boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags) in main.cc.o
|
|
# bool boost::regex_search<char const*, char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >(char const*, char const*, boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags) in global.cc.o
|
|
- os: osx
|
|
compiler: clang
|
|
# On Mac OS X building ledger with clang fails due to
|
|
# dyld: Library not loaded: libboost_python.dylib
|
|
# Referenced from: /Users/travis/build/ledger/ledger/ledger
|
|
# Reason: image not found
|
|
|
|
addons:
|
|
coverity_scan:
|
|
project:
|
|
name: "ledger/ledger"
|
|
description: "Build submitted via Travis CI"
|
|
build_command_prepend: "cmake . -DUSE_PYTHON=ON -DBUILD_DEBUG=ON -DCLANG_GCOV=ON"
|
|
build_command: "make"
|
|
branch_pattern: coverity
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
#- boost-latest
|
|
packages:
|
|
- gcc-4.8
|
|
- g++-4.8
|
|
- libgmp-dev
|
|
- libmpfr-dev
|
|
- libedit-dev
|
|
#- libboost1.55-dev
|
|
#- libboost-test1.55-dev
|
|
#- libboost-regex1.55-dev
|
|
#- libboost-python1.55-dev
|
|
#- libboost-system1.55-dev
|
|
#- libboost-date-time1.55-dev
|
|
#- libboost-iostreams1.55-dev
|
|
#- libboost-filesystem1.55-dev
|
|
#- libboost-serialization1.55-dev
|
|
|
|
before_install:
|
|
- if [ "${TRAVIS_BRANCH}" = "master" ]; then export BOOST_VERSION="${BOOST_VERSION_MIN}"; else export BOOST_VERSION="${BOOST_VERSION_MAX}"; fi
|
|
- if [ -n "${BOOST_VERSION}" ]; then export BOOST_ROOT="${TRAVIS_BUILD_DIR}/../boost-trunk"; export CMAKE_MODULE_PATH="${BOOST_ROOT}"; fi
|
|
- if [ "${CXX}" = "g++" ]; then export CXX="$(which g++-4.8)"; export CC="$(which gcc-4.8)"; fi
|
|
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then export DYLD_LIBRARY_PATH="${BOOST_ROOT}/lib"; fi
|
|
# c++ is a symlink to clang++, but the compiler behaves differently when invoked as c++
|
|
- if [ "${TRAVIS_OS_NAME}" = "osx" -a "${CXX}" = "clang++" ]; then export CXX="$(which c++)"; export CC="$(which cc)"; fi
|
|
- tools/travis-before_install.sh
|
|
|
|
install:
|
|
- tools/travis-install.sh
|
|
|
|
before_script:
|
|
- cmake . -DUSE_PYTHON=ON -DBUILD_DEBUG=ON
|
|
- make
|
|
|
|
script:
|
|
- ctest --output-on-failure
|
|
- PYTHONPATH=. python python/demo.py
|
|
|
|
after_script:
|
|
# These scripts are run for informational purposes and
|
|
# should be reintegrated into CTest once they reliably verify the documentation.
|
|
- python test/CheckTexinfo.py -l ledger -s .
|
|
- python test/CheckManpage.py -l ledger -s .
|
|
|
|
notifications:
|
|
email:
|
|
on_success: change
|
|
on_failure: change
|
|
irc:
|
|
channels: [ "chat.freenode.net#ledger" ]
|
|
on_success: change
|
|
on_failure: change
|
|
webhooks:
|
|
urls:
|
|
- https://webhooks.gitter.im/e/0050d91909a8cde39e35
|
|
on_success: change # options: [always|never|change] default: always
|
|
on_failure: always # options: [always|never|change] default: always
|
|
on_start: never # options: [always|never|change] default: always
|
|
|