language: cpp
sudo: required
dist: xenial

notifications:
  webhooks:
    urls:
    - https://scalar.vector.im/api/neb/services/hooks/dHJhdmlzLWNpLyU0MHJlZF9za3klM0FuaGVrby5pbS8lMjFVYkNtSWxHVEhOSWdJUlpjcHQlM0FuaGVrby5pbQ
    on_success: always
    on_failure: always
    on_start: never
  email: false

cache:
  directories:
    - .deps

matrix:
    include:
        - os: osx
          compiler: clang
          # C++17 support
          osx_image: xcode10.2
          env:
            - DEPLOYMENT=1
            - USE_BUNDLED_BOOST=0
            - USE_BUNDLED_CMARK=0
            - USE_BUNDLED_JSON=0
            - MTX_STATIC=1
          addons:
            homebrew:
              taps: nlohmann/json
              packages:
                - boost
                - clang-format
                - cmake
                - cmark
                - icu4c
                - libsodium
                - lmdb
                - ninja
                - openssl
                - qt5
        - os: linux
          compiler: gcc-7
          env:
              - CXX=g++-7
              - CC=gcc-7
              - QT_PKG=512
              - DEPLOYMENT=1
              - USE_BUNDLED_BOOST=1
              - USE_BUNDLED_CMARK=1
              - USE_BUNDLED_JSON=1
          addons:
              apt:
                  sources: 
                    - ubuntu-toolchain-r-test
                    - sourceline: 'ppa:beineri/opt-qt-5.12.6-xenial'
                  packages: 
                    - g++-7 
                    - ninja-build
                    - qt512base
                    - qt512tools
                    - qt512svg
                    - qt512multimedia
                    - qt512quickcontrols2
                    - qt512graphicaleffects
                    - liblmdb-dev
                    - libgl1-mesa-dev # needed for missing gl.h
        - os: linux
          compiler: gcc-8
          env:
              - CXX=g++-8
              - CC=gcc-8
              - QT_PKG=59
              - USE_BUNDLED_BOOST=1
              - USE_BUNDLED_CMARK=1
              - USE_BUNDLED_JSON=1
          addons:
              apt:
                  sources: 
                    - ubuntu-toolchain-r-test
                    - sourceline: 'ppa:beineri/opt-qt597-xenial'
                  packages: 
                    - g++-8 
                    - ninja-build
                    - qt59base
                    - qt59tools
                    - qt59svg
                    - qt59multimedia
                    - qt59quickcontrols2
                    - qt59graphicaleffects
                    - liblmdb-dev
                    - libgl1-mesa-dev # needed for missing gl.h
        - os: linux
          compiler: clang-6
          env:
              - CXX=clang++-6.0
              - CC=clang-6.0
              - QT_PKG=59
              - USE_BUNDLED_BOOST=1
              - USE_BUNDLED_CMARK=1
              - USE_BUNDLED_JSON=1
          addons:
              apt:
                  sources: 
                    - ubuntu-toolchain-r-test
                    - llvm-toolchain-xenial-6.0
                    - sourceline: 'ppa:beineri/opt-qt597-xenial'
                  packages: 
                    - clang++-6.0
                    - g++-7 
                    - ninja-build
                    - qt59base
                    - qt59tools
                    - qt59svg
                    - qt59multimedia
                    - qt59quickcontrols2
                    - qt59graphicaleffects
                    - liblmdb-dev
                    - libgl1-mesa-dev # needed for missing gl.h

before_install:
    # Use TRAVIS_TAG if defined, or the short commit SHA otherwise
    - export VERSION=${TRAVIS_TAG:-$(git rev-parse --short HEAD)}
install:
    - ./.ci/install.sh
    - export PATH=/usr/local/bin:${PATH}

script:
    - ./.ci/script.sh
    - sed -i -e "s/VERSION_NAME_VALUE/${VERSION}/g" ./.ci/bintray-release.json || true
    - cp ./.ci/bintray-release.json .
deploy:
- provider: s3
  access_key_id: $ARTIFACTS_KEY
  secret_access_key: $ARTIFACTS_SECRET
  bucket: $ARTIFACTS_BUCKET
  region: $AWS_DEFAULT_REGION
  detect_encoding: true
  cache_control: "max-age=31536000"
  skip_cleanup: true
  acl: public_read
  local_dir: artifacts
  on:
    condition: "$DEPLOYMENT == 1"
    repo: Nheko-Reborn/nheko
    tags: false
    all_branches: true
- provider: bintray
  user: "redsky17"
  key:
    secure: "2C+ESOClZdNCDzfUfE8Rcdn9+BM3/5x1lebGS0qRxICMAuylx50C8RAxlqKIFNI1J+IMnj5xhK+1oWsLg6wUdo8B3JocvM6P1NbC/WwfY5UJVwtSmzcqvEC+IjM90Bng8OoM5f6ED3IAUyYPBgo8J14+2l5Oruvr99t0mrpniLXDf66TJrI9u/+05JYa2pm0EWlQkDVaziI+96zAt1pMIX9Z/ToTmUbq2OAlHaN8H4hR5aBRmYuF11FQVyARK64eqRsBV4RXKJ9DjW7BR+pQV008hQUoXrCxK8xIf/Qph9h1fz63961NJxfru62LeuZ4Z8MUcV9L+p0HYZzkhNdn5Z3QFf3SXbrVCYs6LK6+uKHpmYS7vB5XwjDx9SWc2szsd5OVKJg3YEdBcC4KUSL3VEbBHDSQ3GFsVKoBsZvopwHkyCmPotY47HtEiPBLdEcsOvcVyeU5Gfq9EOp9dB+nJbNrujBgav1l13CorkBG2rgD+NRivV1otclXnPsIj85ySrc6xk0VDN3zogLAdLw0f+fNOaK17N8GmhPbCu/iX2Vjem/fdjh4NPC4pSNDei2MoWUfqGBmoTxuQEsZeywigwV2c51W9RZuwo8X810N3ehVcBmmNyLjbKmYT+8Kp+dJbaf/ErFnvdZl06mX2bgyxFakv5iQY3dwX4WYHvl77c4="
  skip_cleanup: true
  overwrite: true
  file: bintray-release.json
  on:
    condition: "$DEPLOYMENT == 1"
    repo: Nheko-Reborn/nheko
    tags: false
    all_branches: true
    deploy: 
- skip_cleanup: true
  overwrite: true
  provider: releases
  api_key:
    secure: "rDFG4DIwIG+A9R8seQ3SIXfWOWhJgJHlNQHtAsnfRrPOSIpI7kMebHLDO5sBPNaJ+9MH9acVTJZOabVLf0DdPqRsDUw/PN28aiiqbaH9+zAGOTxahaQ222Gz/ROf/iXvDoTDUnUzURqQUA0YlHy89Z1CnO7TKwlsYhA5A8n0biG7d8i7vQayvwYXfxlk7CouK+Y86ana4r54j1emGRg97p7BOhORibg54ZD520hN0Iif7EJM2hQDTWKZzTDdBt3mF1kBr7cBbuBHWuvE+eIFO3F3yi+u7ggHzw5FaAv245N4fhkpYUl/mSbhLrQG2NOnkglFCpQ2lLd6mWdXHwUNrxN/j+UPewmLg7CymY25zkiL43deDsT8KmpzYalmdaevCqEaX2VehuBzblmH4Re8wnXqBrab14fq0TNDfPqC+NKxy75mdxszbKBC55nTlTB+hsox43dvfvyXDSON4qAzwe9Q/tfp8mL2mehcM868vhw5cbNIskKT8SrhMwmA+sxoqnqLsmAjNVJVTgg6ppbMhjNMOBTndblRHfH6bxsgpTXPtnzC17o9Mw1WgF63eOWNYBEj2wW5ZvWX95Gvg5YzvsF178ipHZDqZfA62ShB3b89fcqN5SOxBsE8UYoHjQIHxQdWeKv23iFwmT8fWAOD8sKDcRyz0WCgidZ1/RjLqsU="
  file_glob: true
  file:
  - nheko-${VERSION}-x86_64.AppImage
  on:
    condition: "$TRAVIS_OS_NAME == linux && $DEPLOYMENT == 1"
    repo: Nheko-Reborn/nheko
    tags: true
- skip_cleanup: true
  overwrite: true
  provider: releases
  api_key:
    secure: "rDFG4DIwIG+A9R8seQ3SIXfWOWhJgJHlNQHtAsnfRrPOSIpI7kMebHLDO5sBPNaJ+9MH9acVTJZOabVLf0DdPqRsDUw/PN28aiiqbaH9+zAGOTxahaQ222Gz/ROf/iXvDoTDUnUzURqQUA0YlHy89Z1CnO7TKwlsYhA5A8n0biG7d8i7vQayvwYXfxlk7CouK+Y86ana4r54j1emGRg97p7BOhORibg54ZD520hN0Iif7EJM2hQDTWKZzTDdBt3mF1kBr7cBbuBHWuvE+eIFO3F3yi+u7ggHzw5FaAv245N4fhkpYUl/mSbhLrQG2NOnkglFCpQ2lLd6mWdXHwUNrxN/j+UPewmLg7CymY25zkiL43deDsT8KmpzYalmdaevCqEaX2VehuBzblmH4Re8wnXqBrab14fq0TNDfPqC+NKxy75mdxszbKBC55nTlTB+hsox43dvfvyXDSON4qAzwe9Q/tfp8mL2mehcM868vhw5cbNIskKT8SrhMwmA+sxoqnqLsmAjNVJVTgg6ppbMhjNMOBTndblRHfH6bxsgpTXPtnzC17o9Mw1WgF63eOWNYBEj2wW5ZvWX95Gvg5YzvsF178ipHZDqZfA62ShB3b89fcqN5SOxBsE8UYoHjQIHxQdWeKv23iFwmT8fWAOD8sKDcRyz0WCgidZ1/RjLqsU="
  file: nheko-${VERSION}.dmg
  on:
    condition: "$TRAVIS_OS_NAME == osx && $DEPLOYMENT == 1"
    repo: Nheko-Reborn/nheko
    tags: true