diff --git a/.travis.yml b/.travis.yml index 66f9f45a6c..36fe564f26 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,11 +7,26 @@ env: global: - CFLAGS="-fprofile-arcs -ftest-coverage" - LDFLAGS="-fprofile-arcs" + - BUILDDIR=. + matrix: + # - TEST_SUITE=testinstall ABI=32 # trusty is missing 32bit gmp, see https://github.com/travis-ci/apt-package-whitelist/pull/4018 + - TEST_SUITE=testinstall ABI=32 CONFIGFLAGS=--with-gmp=builtin + - TEST_SUITE=testinstall ABI=64 + - TEST_SUITE=testinstall ABI=64 CONFIGFLAGS=--with-gmp=builtin + # out of three builds + - TEST_SUITE=testinstall ABI=32 BUILDDIR=build CONFIGFLAGS=--with-gmp=builtin + - TEST_SUITE=testinstall ABI=64 BUILDDIR=build + - TEST_SUITE=testinstall ABI=64 BUILDDIR=build CONFIGFLAGS=--with-gmp=builtin + +# TODO: boehm GC, HPC-GAP compatibility mode addons: apt_packages: - libgmp-dev - libreadline-dev + - gcc-multilib + - g++-multilib + - texinfo matrix: include: @@ -77,11 +92,15 @@ after_success: - bash <(curl -s https://codecov.io/bash) script: + - export GAPROOT=$TRAVIS_BUILD_DIR - ./autogen.sh - - ./configure + - mkdir -p $BUILDDIR + - cd $BUILDDIR + - $GAPROOT/configure $CONFIGFLAGS - make -j4 - make bootstrap-pkg-full - - bash etc/ci.sh + - if [[ $BUILDDIR != . ]] ; then mv pkg $GAPROOT/ ; fi + - bash $GAPROOT/etc/ci.sh notifications: slack: diff --git a/etc/ci.sh b/etc/ci.sh index 811e9651a0..7fb27afd14 100644 --- a/etc/ci.sh +++ b/etc/ci.sh @@ -8,11 +8,14 @@ set -ex +GAPROOT=${GAPROOT:-$PWD} +BUILDDIR=${BUILDDIR:-.} + if [[ "${TEST_SUITE}" == makemanuals ]] then make manuals - cat doc/*/make_manuals.out - if [[ $(cat doc/*/make_manuals.out | grep -c "manual.lab written") != '3' ]] + cat $GAPROOT/doc/*/make_manuals.out + if [[ $(cat $GAPROOT/doc/*/make_manuals.out | grep -c "manual.lab written") != '3' ]] then echo "Build failed" exit 1 @@ -27,10 +30,10 @@ fi # We need to compile the profiling package in order to generate coverage # reports; and also the IO package, as the profiling package depends on it. -pushd pkg +pushd $GAPROOT/pkg cd io* -./configure $CONFIGFLAGS +./configure $CONFIGFLAGS --with-gaproot=$GAPROOT/$BUILDDIR make cd .. @@ -40,7 +43,7 @@ rm -rf profiling* git clone https://github.com/gap-packages/profiling cd profiling ./autogen.sh -./configure $CONFIGFLAGS +./configure $CONFIGFLAGS --with-gaproot=$GAPROOT/$BUILDDIR make # return to base directory @@ -53,15 +56,15 @@ mkdir -p $COVDIR case ${TEST_SUITE} in testmanuals) - bin/gap.sh -q tst/extractmanuals.g + bin/gap.sh -q $GAPROOT/tst/extractmanuals.g bin/gap.sh -q <