language: c

env:
  global:
  # SSHHOST
  - secure: "NEXUEA+ccm/I21ujCPuKYIHFb8Gogunr3nYysCRpTBNT40PsU9VFIy5vbmMxPAkCaMwk8XZ0rMHE3uaNGbBAGfoDL9v0Ban5wG/jA1JkmOAWUpFrUsbQeejXNRA04QcZ/4VeL6TgFegV2T6V0tLB4M6/X316dIPhS9Tat1ZUC8s="
  # SSHUSER
  - secure: "bYHqhcYYuSbciQa5mBqMxs3CbJkrxxD7/G4zDW2war1IcMh8AC/KPeoYIuhd/L2Mg9+tP++xCznKUJzX85Hu+8EyrMGkC/6zWpGYgyO27DH7wl+9AJjR191WJKkg+S6OqZmb/5v0rdJMDnGOZHrRVB3Vec9dBT+jDTQbyxrckxE="
  # DEPLOY_TO directory
  - secure: "PMp93w9HAYd0pR4aw2LT1sMIVmA06f01Xq2jaGW2iy74n3GrqBYe7H9aMR0WD1S6KH9sFydqFI11bCpwUQXPopl+8MPA34AS7V2gaxDUdE+UZnKKXpKV6KRPRp/txlryuEGspjFJM0bo5g1H5lPBSBFj8PB1Bf6BiloGl8TTuiY="
  - BRANCH_PULL=$TRAVIS_PULL_REQUEST_BRANCH
  - PULL=$TRAVIS_PULL_REQUEST
  - BRANCH=$TRAVIS_BRANCH

matrix:
  include:
    - compiler: "gcc"
      os: linux
      env:
        - PLATFORM=linux BITS=64 HOST=x86_64
        # TODO do `check` or `check_hw` here too, not just `check_sw` (as part of `coverage`)
        - CHECK_RULE=coverage GCOV=1
        - PKG_RULE=gzip
        - COVERITY_SCAN_PROJECT_NAME="$TRAVIS_REPO_SLUG"
        - COVERITY_SCAN_BRANCH_PATTERN="master"
        - COVERITY_SCAN_NOTIFICATION_EMAIL="robin.getz@analog.com"
        - COVERITY_SCAN_BUILD_COMMAND_PREPEND="mkdir build && cd build && cmake .."
        - COVERITY_SCAN_BUILD_COMMAND="make"
        # The COVERITY_SCAN_TOKEN
        - secure: "QQt2l9IVo0xXWLx7Xqgz/4Iezj7YroY3MKfmG+OhtzkMRx4prhx32/07JMNAcYx6mQrccyZkBNzpYuXlfIZjFL3xDxDj5+iKv5XXpJbRFQGhc5xZtAlzOIqHNMcFc0Aj8J2mZwKfSaDnBdf+nMgKcmn46pYbpJOmPe9iEfeLvvg="
    - compiler: "clang"
      os: linux
      dist: trusty
      env: LDIST=DO_NOT_DEPLOY
    - compiler: "gcc"
      os: linux
      dist: precise
      env: LDIST=-precise
    - compiler: "gcc"
      os: linux
      dist: trusty
      env: LDIST=-trusty
    - compiler: "gcc"
      os: osx
      osx_image: xcode6.4
      env: LDIST=-osx_10.10
    - compiler: "gcc"
      os: osx
      osx_image: xcode7.3
      env: LDIST=-osx_10.11
    - compiler: "gcc"
      os: osx
      osx_image: xcode8.1
      env:
        - LDIST=-osx_10.12
        - EXTRA_SSH=-oHostKeyAlgorithms=+ssh-dss

addons:
  artifacts: true
  ssh_known_hosts:
    secure: "q0dQ9MrhnOCo031McxSdQIqw4N6tEyAZLq7mdbWkAJcXOh/CX58NjFvcdSfamleDUYRmg7KpCZPPgnbx2JtqVvWJv8aNnr67CE1GIjRP1Fxh2WaKS+VK+I6rro7GwCO2C9d+uffCt63LfZKqddF1T7vMI2IgHcu9irc5LCuw6Wo="

before_install:
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ./CI/travis/before_install_darwin ; fi
  - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ./CI/travis/before_install_linux ; fi
  - if [[ -n "$COVERITY_SCAN_PROJECT_NAME" ]] ; then echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca- ; fi
  - if [ -n "$COVERITY_SCAN_PROJECT_NAME" -a "$TRAVIS_EVENT_TYPE" == "cron" ] ; then curl -s 'https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh' | bash || true ; fi

  - mkdir -p $TRAVIS_BUILD_DIR/build
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then mkdir -p $TRAVIS_BUILD_DIR/build_tar ; fi

script:
  - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ${TRAVIS_BUILD_DIR}/CI/travis/make_linux; fi
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ${TRAVIS_BUILD_DIR}/CI/travis/make_darwin; fi

notifications:
  email:
    on_success: change
    on_failure: always

before_deploy:
  - . ${TRAVIS_BUILD_DIR}/CI/travis/before_deploy
  - openssl aes-256-cbc -K $encrypted_48a720578612_key -iv $encrypted_48a720578612_iv -in ${TRAVIS_BUILD_DIR}/CI/travis/deploy.rsa.enc -out /tmp/deploy.rsa -d
  - eval "$(ssh-agent -s)"
  - chmod 600 /tmp/deploy.rsa
  - ssh-add /tmp/deploy.rsa
deploy:
  - provider: releases
    api_key:
      secure: Bl7sfWp796+D7cF99+YdmbQjr5stXh4H/4hN2L5FNL0FEHL4XnIscSqySgy2NNmcqWF4Mz5WNXMZ9M8rYSNAiOndcaBYB+xvesAUbIdncwswgTNn2cj6yQbv0yR9qVUdoyczvZMK1vIc6GtKWWkh0AmgR04cAFffU3fr+78JHIw=
    file:
      - "${RELEASE_PKG_FILE_DEB}"
      - "${RELEASE_PKG_FILE_RPM}"
      - "${RELEASE_PKG_FILE_TGZ}"
    skip_cleanup: true
    on:
      repo: analogdevicesinc/libiio
      tags: true
      condition: "($CC = gcc) && ($TRAVIS_OS_NAME = linux)"
  - provider: releases
    api_key:
      secure: Bl7sfWp796+D7cF99+YdmbQjr5stXh4H/4hN2L5FNL0FEHL4XnIscSqySgy2NNmcqWF4Mz5WNXMZ9M8rYSNAiOndcaBYB+xvesAUbIdncwswgTNn2cj6yQbv0yR9qVUdoyczvZMK1vIc6GtKWWkh0AmgR04cAFffU3fr+78JHIw=
    file:
      - "${RELEASE_PKG_FILE_PKG}"
      - "${RELEASE_PKG_FILE_TGZ}"
    skip_cleanup: true
    on:
      repo: analogdevicesinc/libiio
      tags: true
      condition: "$TRAVIS_OS_NAME = osx"
  - provider: script
    skip_cleanup: true
    script:
      - ${TRAVIS_BUILD_DIR}/CI/travis/deploy
    on:
      condition: "($CC = gcc) && ($TRAVIS_OS_NAME = linux)"
      all_branches: true
  - provider: script
    skip_cleanup: true
    script:
      - ${TRAVIS_BUILD_DIR}/CI/travis/deploy
    on:
      condition: "$TRAVIS_OS_NAME = osx"
      all_branches: true
