dist: xenial
sudo: required

language: c
compiler: gcc
os: linux

env:
  global:
    - NUM_THREADS=4
    # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
    #   via the "travis encrypt" command using the project repo's public key
    - secure: "Eu+ys+LW614J1wU1+i2qpfbSq9gFPvPq09XBgkK2hkDIEuouOX+G4ydpqc7Wg7+pv/P38KiUdbyoJtPxryvlwFYmuL/MEHPzjqVmxHuS0TpqwYE7Fh/44d/N9slGjD9Iv//pbabVrcrTptuJIRwH76GVsmec564uXd+yZGlR0c0="


before_install:
  - test "${TRAVIS_BRANCH}" != 'coverity_scan' -o "${TRAVIS_JOB_NUMBER##*.}" = '1' || exit 0
  - echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-
  - |
     sudo systemctl stop apt-daily.service &&
     sudo systemctl kill --kill-who=all apt-daily.service &&
     while ! (systemctl list-units --all apt-daily.service | fgrep -q dead) ; do
       sleep 1
     done
  - pip install --user cpp-coveralls
  - sudo apt-get -qq update
  - sudo apt-get install -y build-essential
  - sudo apt-get install -y autoconf
  - sudo apt-get install -y automake
  - sudo apt-get install -y libtool
  - sudo apt-get install -y m4
  - sudo apt-get install -y lcov
  - sudo apt-get install -y perl
  - sudo apt-get install -y pkg-config
  - sudo apt-get install -y libdrm-dev
  - sudo apt-get install -y autoconf
  - sudo apt-get install -y libegl1-mesa-dev
  - sudo apt-get install -y libgl1-mesa-dev
  - sudo apt-get install -y libwayland-dev
  - sudo apt-get install -y libx11-dev
  - sudo apt-get install -y libxext-dev
  - sudo apt-get install -y libxfixes-dev

addons:
  coverity_scan:
    project:
      name: "intel/libva"
      description: "Build submitted via Travis CI"
    notification_email: intel-media-security@lists.01.org
    build_command_prepend: "./autogen.sh; ./configure --prefix=/usr"
    build_command:  "make -j4"
    branch_pattern: coverity_scan

script:
  - if [[ "${COVERITY_SCAN_BRANCH}" == 1 ]];
      then
        echo "Don't build on coverty_scan branch.";
        exit 0;
    fi
  - if [[ -n "$(find -name '*.[ch]' -executable)" ]];
      then
        echo "Error, a source code file(s) has the execute bit set:" >&2;
        find -name '*.[ch]' -executable;
        exit 1;
    fi
  - ./autogen.sh
  - ./configure --prefix=/usr
  - make -j4 ; sudo make install
  - make check

after_success:
        - coveralls --exclude lib --exclude tests --gcov-options '\-lp'

notifications:
# Emails are sent to the committer's git-configured email address by default,
# but only if they have access to the repository.  To enable Travis on your
# public project, just go to travis-ci.org and flip the switch on for
# your project.  To configure your git email address, use:
#     git config --global user.email me@example.com
  email:
    on_success: always
    on_failure: always

# Slack notifications
#
  slack: intel-media:p0wZO3fWJ1ouSsF0RNKbOl5G

# IRC notifications disabled by default.
# Uncomment next 5 lines to send notifications to chat.freenode.net#caffe
#   irc:
#     channels:
#       - "chat.freenode.net#intel-media"
#     template:
#       - "%{repository}/%{branch} (%{commit} - %{author}): %{message}"
