From 219869caf7e6bb2b70aef3e0e9a4c52c9fd96539 Mon Sep 17 00:00:00 2001 From: Tim Landscheidt Date: Sun, 20 Jan 2019 03:18:15 +0000 Subject: Remove broken and disabled Travis CI configurations The Travis CI configurations for macOS, Clang on Linux and CheckTexinfo.py and CheckManpage.py are broken and disabled or ignored. They appear to be non-trivial to fix, so the current stub is probably more distracting than helpful while also making changes to the working Linux configuration more difficult. --- .travis.yml | 37 ------------------------------------- tools/travis-before_install.sh | 4 ---- tools/travis-install.sh | 10 ---------- 3 files changed, 51 deletions(-) diff --git a/.travis.yml b/.travis.yml index 59ec77b2..5cac92d2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,10 +5,8 @@ language: cpp compiler: - gcc - - clang os: - linux - - osx sudo: false cache: apt: true @@ -22,35 +20,9 @@ env: - 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 macOS 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 >, boost::regex_traits > >::construct_init(boost::basic_regex > > const&, boost::regex_constants::_match_flags)", referenced from: - # boost::re_detail::perl_matcher >, boost::regex_traits > >::perl_matcher(char const*, char const*, boost::match_results > >&, boost::basic_regex > > const&, boost::regex_constants::_match_flags, char const*) in main.cc.o - # boost::re_detail::perl_matcher >, boost::regex_traits > >::perl_matcher(char const*, char const*, boost::match_results > >&, boost::basic_regex > > const&, boost::regex_constants::_match_flags, char const*) in global.cc.o - # "boost::re_detail::perl_matcher >, boost::regex_traits > >::find()", referenced from: - # bool boost::regex_search > >(char const*, char const*, boost::basic_regex > > const&, boost::regex_constants::_match_flags) in main.cc.o - # bool boost::regex_search > >(char const*, char const*, boost::basic_regex > > const&, boost::regex_constants::_match_flags) in global.cc.o - - os: osx - compiler: clang - # On macOS 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: @@ -80,9 +52,6 @@ before_install: # - if [ "${TRAVIS_BRANCH}" = "master" ]; then export BOOST_VERSION="${BOOST_VERSION_MIN}"; else export BOOST_VERSION="${BOOST_VERSION_MAX}"; fi - export BOOST_VERSION="${BOOST_VERSION_MAX}" - if [ -n "${BOOST_VERSION}" ]; then export BOOST_ROOT="${TRAVIS_BUILD_DIR}/../boost-trunk"; export CMAKE_MODULE_PATH="${BOOST_ROOT}"; 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: @@ -96,12 +65,6 @@ 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 diff --git a/tools/travis-before_install.sh b/tools/travis-before_install.sh index fe010945..365fcab1 100755 --- a/tools/travis-before_install.sh +++ b/tools/travis-before_install.sh @@ -4,10 +4,6 @@ set -e set -o pipefail -if [ "${TRAVIS_OS_NAME}" = "osx" ]; then - brew update -fi - if [ -n "${BOOST_VERSION}" ]; then mkdir -p $BOOST_ROOT wget --no-verbose --output-document=- \ diff --git a/tools/travis-install.sh b/tools/travis-install.sh index 4e8bdc48..995f18df 100755 --- a/tools/travis-install.sh +++ b/tools/travis-install.sh @@ -4,16 +4,6 @@ set -e set -o pipefail -if [ "${TRAVIS_OS_NAME}" = "osx" ]; then - for formula in $(echo "${BREWS//,/ }"); do - echo "Checking ${formula} formula" - brew outdated "${formula}" \ - || (brew unlink "${formula}" - brew install "${formula}" - ) - done -fi - if [ -d "${BOOST_ROOT}" ]; then (cd "${BOOST_ROOT}" ./bootstrap.sh --with-libraries="${BOOST_LIBS}" -- cgit v1.2.3 From 0645976caecc581923d87ca3cc8658a9f7c35f52 Mon Sep 17 00:00:00 2001 From: Tim Landscheidt Date: Sun, 20 Jan 2019 03:46:57 +0000 Subject: Use build matrix to specify Boost versions for Travis CI In Travis CI, versions of libraries, etc. to build against are typically specified in a build matrix. In addition, currently there is no way to build against the distribution-provided Boost version. This change uses a build matrix for BOOST_VERSION and allows that variable to be empty for building against the distribution-provided Boost version. --- .travis.yml | 50 ++++++++++++++++++++++++------------------ tools/travis-before_install.sh | 12 ---------- tools/travis-install.sh | 12 ---------- 3 files changed, 29 insertions(+), 45 deletions(-) delete mode 100755 tools/travis-before_install.sh delete mode 100755 tools/travis-install.sh diff --git a/.travis.yml b/.travis.yml index 5cac92d2..ae2ff727 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,15 +13,14 @@ cache: 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" # Encrypted COVERITY_SCAN_TOKEN - secure: "mYNxD1B8WNSvUeKzInehZ7syi2g1jH2ymeSQxoeKKD2duq3pvNWPdZdc4o9MlWQcAqcz58rhFZRIpuEWCnP0LbbJaG+MyuemMn9uAmg9Y4gFpMsBPHuTdf8pO3rDex+tkrr9puEJFgL+QV/TehxO6NDDpx7UdYvJb+4aZD/auYI=" + matrix: + # Boost version to build against; an empty string means the + # distribution's default. + - BOOST_VERSION="1.61.0" addons: coverity_scan: @@ -32,30 +31,39 @@ addons: build_command: "make" branch_pattern: coverity apt: - sources: - #- boost-latest packages: - 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 + - libboost-dev + - libboost-test-dev + - libboost-regex-dev + - libboost-python-dev + - libboost-system-dev + - libboost-date-time-dev + - libboost-iostreams-dev + - libboost-filesystem-dev + - libboost-serialization-dev before_install: - # - if [ "${TRAVIS_BRANCH}" = "master" ]; then export BOOST_VERSION="${BOOST_VERSION_MIN}"; else export BOOST_VERSION="${BOOST_VERSION_MAX}"; fi - - export BOOST_VERSION="${BOOST_VERSION_MAX}" - - if [ -n "${BOOST_VERSION}" ]; then export BOOST_ROOT="${TRAVIS_BUILD_DIR}/../boost-trunk"; export CMAKE_MODULE_PATH="${BOOST_ROOT}"; fi - - tools/travis-before_install.sh + - | + if [ -n "${BOOST_VERSION}" ]; then + BOOST_SOURCE="$(mktemp -d)" + BOOST_SOURCE_URL="https://sourceforge.net/projects/boost/files/boost/${BOOST_VERSION}/boost_${BOOST_VERSION//./_}.tar.bz2/download" + curl -Ls "$BOOST_SOURCE_URL" | + tar jx -C "${BOOST_SOURCE}" --strip-components 1 + fi install: - - tools/travis-install.sh + - | + if [ -n "${BOOST_VERSION}" ]; then + export BOOST_ROOT="${HOME}/boost" + pushd "${BOOST_SOURCE}" + ./bootstrap.sh --with-libraries="${BOOST_LIBS}" + ./b2 threading=multi -d0 --prefix="${BOOST_ROOT}" install + popd + rm -Rf "${BOOST_SOURCE}" + fi before_script: - cmake . -DUSE_PYTHON=ON -DBUILD_DEBUG=ON diff --git a/tools/travis-before_install.sh b/tools/travis-before_install.sh deleted file mode 100755 index 365fcab1..00000000 --- a/tools/travis-before_install.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash - -#set -x -set -e -set -o pipefail - -if [ -n "${BOOST_VERSION}" ]; then - mkdir -p $BOOST_ROOT - wget --no-verbose --output-document=- \ - http://sourceforge.net/projects/boost/files/boost/${BOOST_VERSION}/boost_${BOOST_VERSION//./_}.tar.bz2/download \ - | tar jxf - --strip-components=1 -C "${BOOST_ROOT}" -fi diff --git a/tools/travis-install.sh b/tools/travis-install.sh deleted file mode 100755 index 995f18df..00000000 --- a/tools/travis-install.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash - -#set -x -set -e -set -o pipefail - -if [ -d "${BOOST_ROOT}" ]; then - (cd "${BOOST_ROOT}" - ./bootstrap.sh --with-libraries="${BOOST_LIBS}" - ./b2 threading=multi --prefix="${BOOST_ROOT}" -d0 install - ) -fi -- cgit v1.2.3