language: c
sudo: false
branches:
  only:
  - master
matrix:
  include:
    ###
    ## Linux builds using various versions of GCC.
    ###
    - os: linux
      env: BUILD_SYSTEM=cmake C_COMPILER=gcc-7 CXX_COMPILER=g++-7
      addons:
        apt:
          sources:
          - ubuntu-toolchain-r-test
          packages:
          - gcc-7
          - g++-7
    - os: linux
      env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.4 CXX_COMPILER=g++-4.4
      addons:
        apt:
          sources:
          - ubuntu-toolchain-r-test
          packages:
          - gcc-4.4
          - g++-4.4

    ###
    ## Test that Autotools build works.
    ###
    - os: linux
      env: BUILD_SYSTEM=autotools C_COMPILER=gcc-5 CXX_COMPILER=g++-5
      addons:
        apt:
          sources:
          - ubuntu-toolchain-r-test
          packages:
          - gcc-5
          - g++-5

    ###
    ## Test that fuzzer is compiling / working.
    ###
    - os: linux
      env: BUILD_SYSTEM=fuzz C_COMPILER=clang-7 CXX_COMPILER=clang++-7 ASAN_OPTIONS=detect_leaks=0
      addons:
        apt:
          sources:
          - ubuntu-toolchain-r-test
          - llvm-toolchain-xenial-7
          packages:
          - clang-7

    ###
    ## clang on Linux
    ###
    - os: linux
      env: BUILD_SYSTEM=cmake C_COMPILER=clang-7 CXX_COMPILER=clang++-7
      addons:
        apt:
          sources:
          - llvm-toolchain-xenial-7
          - ubuntu-toolchain-r-test
          packages:
          - clang-7
    - os: linux
      env: BUILD_SYSTEM=cmake C_COMPILER=clang-3.5 CXX_COMPILER=clang++-3.5
      addons:
        apt:
          sources:
          - llvm-toolchain-trusty-3.5
          - ubuntu-toolchain-r-test
          packages:
          - clang-3.5

    ###
    ## testing arm via qemu on Linux
    ###
    - os: linux
      env: BUILD_SYSTEM=cmake C_COMPILER=arm-linux-gnueabihf-gcc CXX_COMPILER=arm-linux-gnueabihf-g++ CFLAGS="-march=armv7-a -mfloat-abi=hard -mfpu=neon"
      addons:
        apt:
          sources:
          - ubuntu-toolchain-r-test
          packages:
          - qemu
          - gcc-arm-linux-gnueabihf
          - libc6-dev-armhf-cross

    ###
    ## PGI Community Edition on Linux
    ###
    # Installer is currently broken
    #- os: linux
    #  env: BUILD_SYSTEM=cmake C_COMPILER=pgcc CXX_COMPILER=pgc++

    ###
    ## Python 2.7 and 3.6 builds on Linux
    ###
    - os: linux
      language: python
      python: 2.7
      env: BUILD_SYSTEM=python C_COMPILER=gcc-5 CXX_COMPILER=g++-5
      addons:
        apt:
          sources:
          - ubuntu-toolchain-r-test
          packages:
          - gcc-5
          - g++-5
    - os: linux
      language: python
      python: 3.6
      env: BUILD_SYSTEM=python C_COMPILER=gcc-5 CXX_COMPILER=g++-5
      addons:
        apt:
          sources:
          - ubuntu-toolchain-r-test
          packages:
          - gcc-5
          - g++-5

    ###
    ## CMake on OS X
    ##
    ## These all work, but it seems unnecessary to actually build them
    ## all since we already test all these versions of GCC on Linux.
    ## We'll just test 4.4 and the most recent version.
    ###
    - os: osx
      env: BUILD_SYSTEM=cmake C_COMPILER=gcc CXX_COMPILER=g++
    - os: osx
      env: BUILD_SYSTEM=cmake C_COMPILER=gcc-4.9 CXX_COMPILER=g++-4.9
    - os: osx
      env: BUILD_SYSTEM=cmake

    ###
    ## Python 2.7 OS X build (using the system /usr/bin/python)
    ###
    - os: osx
      env: BUILD_SYSTEM=python C_COMPILER=gcc CXX_COMPILER=g++

    ###
    ## Sanitizers
    ###
    - os: linux
      env: BUILD_SYSTEM=cmake C_COMPILER=clang-7 CXX_COMPILER=clang++-7 SANITIZER=address ASAN_OPTIONS=detect_leaks=0
      addons:
        apt:
          sources:
          - ubuntu-toolchain-r-test
          - llvm-toolchain-xenial-7
          packages:
          - clang-7
    - os: linux
      env: BUILD_SYSTEM=cmake C_COMPILER=clang-7 CXX_COMPILER=clang++-7 SANITIZER=thread
      addons:
        apt:
          sources:
          - ubuntu-toolchain-r-test
          - llvm-toolchain-xenial-7
          packages:
          - clang-7
    - os: linux
      env: BUILD_SYSTEM=cmake C_COMPILER=clang-7 CXX_COMPILER=clang++-7 SANITIZER=undefined CFLAGS="-fno-sanitize-recover=undefined,integer"
      addons:
        apt:
          sources:
          - ubuntu-toolchain-r-test
          - llvm-toolchain-xenial-7
          packages:
          - clang-7

    - os: linux
      env: BUILD_SYSTEM=maven
      jdk:
      # maven + jdk11 + javadoc == trouble
      - openjdk10
      language: java

    - os: linux
      sudo: required
      language: java
      jdk: oraclejdk9
      env: BUILD_SYSTEM=bazel
      addons:
        apt:
          sources:
            - sourceline: "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8"
              key_url: "https://storage.googleapis.com/bazel-apt/doc/apt-key.pub.gpg"
            - ubuntu-toolchain-r-test
          packages:
            - bazel

    - os: osx
      env: BUILD_SYSTEM=bazel
      osx_image: xcode11.3
      language: java

before_install:
###
## If we use the matrix to set CC/CXX Travis, overwrites the values,
## so instead we use C/CXX_COMPILER, then copy the values to CC/CXX
## here (after Travis has set CC/CXX).
###
- if [ -n "${C_COMPILER}" ]; then export CC="${C_COMPILER}"; fi
- if [ -n "${CXX_COMPILER}" ]; then export CXX="${CXX_COMPILER}"; fi
- scripts/.travis.sh before_install
install:
- scripts/.travis.sh install
script:
- scripts/.travis.sh script
after_success:
- scripts/.travis.sh after_success

before_deploy:
- scripts/.travis.sh before_deploy

deploy:
- provider: bintray
  file: "scripts/.bintray.json"
  user: "eustas"
  key:
    secure: "Kbam/lTAdz72fZivbs6riJT+Y4PbuKP7r6t5PAWxJxAAykjwnYTRe3zF472g9HCE14KYMsdB+KSYSgg6TGJnqGC9gL9xhhGU9U/WmA+vbMWS/MSnMWpK9IRpp77pM2i2NKZD4v33JuEwKFCBJP3Vj6QQ5Qd1NKdobuXJyznhgnw="
  on:
    condition: "${BUILD_SYSTEM} = bazel"
  skip_cleanup: true
