language: cpp
sudo: false

dist: focal
addons:
  apt:
    packages:
      - build-essential
      - gawk
      - libxml2-dev
      - libxslt1-dev
      - python3-pip
      - python3-dev
      - gdb
      - cmake
      - cmake-data
      - clang-7
      - llvm-7

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

before_install:
  - echo 0 | sudo dd of=/proc/sys/kernel/yama/ptrace_scope
  - 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

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="
    - AUTOTEST_UPLOAD=true  # Upload logs of failed tests to ArduPilot server; requires authentication

matrix:
  fast_finish: true
  include:
    - if: type != cron
      compiler: "gcc"
      env: CI_BUILD_TARGET="navigator"
      name: navigator