diff --git a/.travis.yml b/.travis.yml index 13c140a4..b4bd4fda 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,41 +1,84 @@ -language: cpp - matrix: include: - - os: linux + - language: cpp + os: linux addons: apt: packages: - gfortran - liblapack-dev - - os: linux + + - language: cpp + os: linux dist: bionic addons: apt: packages: - gfortran - liblapack-dev - - os: osx + + - language: cpp + os: osx osx_image: xcode11 env: OSX=10.14 CC=gcc CXX=g++ compiler: clang - - os: osx + - language: cpp + os: osx osx_image: xcode11 - env: OSX=10.14 + env: OSX=10.14 compiler: clang - - os: osx + - language: cpp + os: osx osx_image: xcode10 - env: OSX=10.13 + env: OSX=10.13 compiler: clang + - language: minimal + dist: bionic + env: DISTRO=alpine + - language: minimal + dist: bionic + env: DISTRO=archlinux + - language: minimal + dist: bionic + env: DISTRO=centos + - language: minimal + dist: bionic + env: DISTRO=debian + - language: minimal + dist: bionic + env: DISTRO=fedora + - language: minimal + dist: bionic + env: DISTRO=opensuse + - language: minimal + dist: bionic + env: DISTRO=ubuntu + + allow_failures: + - language: cpp + os: osx + +install: true + before_script: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; brew install bash gcc; clang --version; gfortran --version; fi - if [[ "$TRAVIS_OS_NAME $CC" == "osx gcc" ]]; then export CC=gcc-9 ; export CXX=g++-9 ; $CC --version; $CXX --version; fi - - cd .. - - wget https://raw.githubusercontent.com/coin-or/coinbrew/master/coinbrew - - export PROJECT_URL=https://github.com/$TRAVIS_REPO_SLUG - - export PROJECT=`echo $TRAVIS_REPO_SLUG | cut -d "/" -f 2` - - bash ./coinbrew fetch $PROJECT_URL:$TRAVIS_BRANCH --no-prompt --skip-update > /dev/null + - if [[ -z "$DISTRO" ]]; then cd ..; fi + - if [[ -z "$DISTRO" ]]; then wget https://raw.githubusercontent.com/coin-or/coinbrew/master/coinbrew; fi + - if [[ -z "$DISTRO" ]]; then export PROJECT_URL=https://github.com/$TRAVIS_REPO_SLUG; fi + - if [[ -z "$DISTRO" ]]; then export PROJECT=`echo $TRAVIS_REPO_SLUG | cut -d "/" -f 2`; fi + - if [[ -z "$DISTRO" ]]; then bash ./coinbrew fetch $PROJECT_URL:$TRAVIS_BRANCH --no-prompt --skip-update > /dev/null; fi script: - - bash ./coinbrew build $PROJECT --no-prompt --verbosity=2 --test + - if [[ -z "$DISTRO" ]]; then bash ./coinbrew build $PROJECT --no-prompt --verbosity=2 --test; fi + + - > + if [[ ! -z "$DISTRO" ]]; then ( + cd .ci && + make env_${DISTRO} && + make devel_${DISTRO} && + make test_${DISTRO} && + make install_${DISTRO} && + make test_install_${DISTRO} || + travis_terminate 1 ); fi