#
#    Copyright 2018-2019 Google LLC. All Rights Reserved.
#
#    Licensed under the Apache License, Version 2.0 (the "License");
#    you may not use this file except in compliance with the License.
#    You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
#    Unless required by applicable law or agreed to in writing, software
#    distributed under the License is distributed on an "AS IS" BASIS,
#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#    See the License for the specific language governing permissions and
#    limitations under the License.
#

#
#    Description:
#      This file is the Travis CI hosted, distributed continuous 
#      integration configuration file for the OpenWeave Core library.
#

language: generic

sudo: required

before_install:
  - .travis/before_install.sh

script:
  - .travis/script.sh

after_success:
  - bash <(curl -s https://codecov.io/bash)

matrix:
  include:
    - name: "Linux with Defaults against GCC Distribution Sanity Check"
      env: BUILD_TARGET="linux-auto-gcc-distcheck" CC="gcc"
      os: linux
      compiler: gcc
    - name: "Linux with Defaults against GCC Coding Style Check"
      env: BUILD_TARGET="linux-auto-gcc-lint" CC="gcc"
      os: linux
      compiler: gcc
    - name: "Linux with Defaults against clang/LLVM"
      env: BUILD_TARGET="linux-auto-clang" CC="clang"
      os: linux
      compiler: clang
    - name: "Linux with LWIP against clang/LLVM"
      env: BUILD_TARGET="linux-lwip-clang" CC="clang"
      os: linux
      compiler: clang
    - name: "OS X with Defaults against clang/LLVM"
      env: BUILD_TARGET="osx-auto-clang" CC="clang"
      os: osx
      compiler: clang
    - name: "OS X with LwIP against clang/LLVM"
      env: BUILD_TARGET="osx-lwip-clang" CC="clang"
      os: osx
      compiler: clang
    - name: "ESP32 (openweave-esp32-demo)"
      env: BUILD_TARGET="esp32"
    - name: "Linux with Defaults against GCC Functional and Unit Tests"
      env: BUILD_TARGET="linux-auto-gcc-check" CC="gcc"
      os: linux
      compiler: gcc
    - name: "Linux with LwIP against GCC Functional and Unit Tests"
      env: BUILD_TARGET="linux-lwip-gcc-check" CC="gcc"
      os: linux
      compiler: gcc
    - name: "Linux with Defaults against GCC Network and Service Tests"
      os: linux
      compiler: gcc
      env: BUILD_TARGET="linux-auto-gcc-check-happy" TRAVIS_TAG="true"
    - name: "Linux with LwIP against GCC Network and Service Tests"
      os: linux
      compiler: gcc
      env: BUILD_TARGET="linux-lwip-gcc-check-happy" TRAVIS_TAG="true"

#
#   deploy description:
#      Travis CI supports uploading to Google Cloud Storage (GCS).
#      openweave gcs bucket location: happy-test-log/<build_number> under link: https://storage.cloud.google.com/openweave"
#      tags: true: deployment is triggered if and only if $TRAVIS_TAG is set here.
#      Travis-CI help link: https://docs.travis-ci.com/user/deployment/gcs/
#

deploy:
  provider: gcs
  access_key_id: GOOGNPZYTVTEPZM5VBRAVVUU
  secret_access_key:
    secure: HH/3FOuU8M4AG9Gdwjs52yw2L1JnAvupcLbFurJtrfqfspXYj/1JKTbGjbmVcb6jS/mK9pNPCs2q/L111JeufWa5cR8RAw49CZ9ENqUHs0t7FV0vgk2h7O+QrQVDCQqN9XvgTGpe071IFJOPCpASRYTT1NT6wqEFyPyCl6b+eU8RLXkRwSQrd2heAdKlD/sHBda3AA9OE8AnKRdY5ZKLhtAt2xl9z4w6vWi1MTbmoRVZaCZaAjmtM5OmRAbqTz4kO41Zy57u1350uEiuOV6l/1QVpfd8zk3iYMC4T5OGrDVzk53WejnHa+Ne1nanswW6HBnsrunBcJV3KWSx2O3mdKBsBunJ4t+gjYAtYaPdMIqqvswXXN95d6VOayTvFBJfmcPLNz4h4ypDf9wYBrSdCpnHWTJh8lmgC2vd8k2tvy/67OgVlYUUX5X+cOkLZI4cfVwOrx2wFIYvxcbsh1LyUQ/EE97QOuftcgnI654u/VLJXuPK9lTj3tEDlH27Hz7h8aJ/dpsOTTCC4t0AqAiXaU7S4HO7B3WnQf4ObVzUCcIQLeqHAlzg+BcOCgy+Jvrqrq4A1PB10YAdwIWjBtIZ2fEuuCCFNCcE9rMp5ddnc3sVVX+NEfDm+O9HeNRvg2VRTWq4Bm5sBSjzJ+SDP5bK9BQrSoXwiqDRM+AGheB1B1w=
  bucket: openweave
  skip_cleanup: true
  acl: public-read
  upload-dir: happy-test-log/$TRAVIS_BUILD_NUMBER
  local-dir: "$TRAVIS_BUILD_DIR/happy-test-logs"
  on:
    repo: openweave/openweave-core
    tags: true
