language: c

os:
  - linux
  - osx

arch:
  - amd64
  - ppc64le
  - s390x
  - arm64

sudo: required
dist: trusty

compiler:
  - clang
  - gcc

matrix:
  fast_finish: true
  exclude:
    # Skip GCC builds on macOS.
    - os: osx
      compiler: gcc
  include:
    # Additional GCC builds for code coverage.
    - os: linux
      compiler: gcc
      env: CODE_COVERAGE=ON

cache:
  apt: true

addons:
  apt:
    packages:
      - clang-3.6
      - lcov

branches:
  only:
    - master

script:
  - sh ./autogen.sh
  - if [[ "$CC" == "gcc" && "$CODE_COVERAGE" == "ON" ]]; then
      ./configure CFLAGS="-ftest-coverage -fprofile-arcs -coverage";
    else
      ./configure;
    fi
  - make
  - make check

after_success:
  - if [[ "$CC" == "gcc" && "$CODE_COVERAGE" == "ON" ]]; then
      pip install --user cpp-coveralls &&
      coveralls
        --build-root .
        --exclude lib
        --exclude test
        --gcov-options '\-lp'
        --verbose &&
      bash <(curl -s https://codecov.io/bash);
    fi

# after_failure:
#   - cat ./test-suite.log