language: cpp
sudo: false

addons:
  apt:
    sources:
      - ubuntu-toolchain-r-test
      - sourceline: 'deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-7 main'
        key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
    packages:
      - build-essential
      - gawk
      - genromfs
      - libc6-i386
      - libxml2-dev
      - libxslt1-dev
      - python-pip
      - python-dev
      - zlib1g-dev
      - gcc-4.9
      - g++-4.9
      - cmake3
      - cmake3-data
      - clang-7
      - llvm-7

cache:
  ccache: false
  directories:
    - $HOME/opt

before_install:
  - Tools/scripts/configure-ci.sh
  - if [ "$TRAVIS_EVENT_TYPE" = "cron" ]; then export CI_CRON_JOB=1 ; fi

script:
  - Tools/scripts/build_ci.sh

notifications:
  webhooks:
    urls:
      - https://webhooks.gitter.im/e/e5e0b55e353e53945b4b
    on_success: change  # options: [always|never|change] default: always
    on_failure: always  # options: [always|never|change] default: always
    on_start: false     # default: false

compiler:
  - gcc

env:
  global:
    # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
    #   via the "travis encrypt" command using the project repo's public key
    - secure: "FjIwqZQV2FhNPWYITX5LZXTE38yYqBaQdbm3QmbEg/30wnPTm1ZOLIU7o/aSvX615ImR8kHoryvFPDQDWc6wWfqTEs3Ytq2kIvcIJS2Y5l/0PFfpWJoH5gRd6hDThnoi+1oVMLvj1+bhn4yFlCCQ2vT/jxoGfiQqqgvHtv4fLzI="

matrix:
  fast_finish: true
  include:
    - if: type != cron
      compiler: "gcc"
      env: CI_BUILD_TARGET="px4-v2 revo-bootloader iofirmware"
    - compiler: "gcc"
      env: CI_BUILD_TARGET="px4-v4 revo-mini"
    - if: type != cron
      compiler: "gcc"
      env: CI_BUILD_TARGET="sitltest-copter"
    - if: type != cron
      compiler: "gcc"
      env: CI_BUILD_TARGET="sitltest-quadplane sitltest-plane"
    - if: type != cron
      compiler: "clang"
      env: CI_BUILD_TARGET="sitltest-rover sitltest-sub""