language: cpp
matrix:
  include:
    - os: linux
      env: NAME="clang-format"
      dist: trusty
      addons:
        apt:
          sources:
            - llvm-toolchain-trusty-6.0
            - ubuntu-toolchain-r-test
          packages:
            - clang-format-6.0
      script: "./.travis/clang-format/script.sh"
    - os: linux
      env: NAME="linux build"
      sudo: required
      dist: trusty
      services: docker
      addons:
        apt:
          packages:
            - p7zip-full
      install: "./.travis/linux/deps.sh"
      script: "./.travis/linux/build.sh"
      after_success: "./.travis/linux/upload.sh"
      cache: ccache
    - if: repo = citra-emu/citra AND branch = master AND type = push
      os: linux
      env: NAME="transifex push"
      sudo: required
      dist: trusty
      services: docker
      install: "./.travis/transifex/deps.sh"
      script: "./.travis/transifex/build.sh"
    - os: osx
      env: NAME="macos build"
      sudo: false
      osx_image: xcode10
      install: "./.travis/macos/deps.sh"
      script: "./.travis/macos/build.sh"
      after_success: "./.travis/macos/upload.sh"
      cache: ccache
    - os: linux
      env: NAME="linux build (frozen versions of dependencies)"
      sudo: required
      dist: trusty
      services: docker
      cache: ccache
      script: "./.travis/linux-frozen/build.sh"
    - os: linux
      env: NAME="MinGW build"
      sudo: required
      dist: trusty
      services: docker
      addons:
        apt:
          packages:
            - p7zip-full
      install: "./.travis/linux-mingw/deps.sh"
      script: "./.travis/linux-mingw/build.sh"
      after_success: "./.travis/linux-mingw/upload.sh"
      cache: ccache

deploy:
  provider: releases
  api_key:
    secure: Mck15DIWaJdxDiS3aYVlM9N3G6y8VKUI1rnwII7/iolfm1s94U+tgvbheZDmT7SSbFyaGaYO/E8HrV/uZR9Vvs7ev20sHsTN1u60OTWfDIIyHs9SqjhcGbtq95m9/dMFschOYqTOR+gAs5BsxjuoeAotHdhpQEwvkO2oo5oR0zhGy45gjFnVvtcxT/IfpZBIpVgcK3aLb9zT6ekcJbSiPmEB15iLq3xXd0nFUNtEZdX3D6Veye4n5jB6n72qN8JVoKvPZAwaC2K0pZxpcGJaXDchLsw1q+4eCvdz6UJfUemeQ/uMAmjfeQ3wrzYGXe3nCM3WmX5wosCsB0mw4zYatzl3si6CZ1W+0GkV4Rwlx03dfp7v3EeFhTsXYCaXqhwuLZnWOLUik8t9vaSoFUx4nUIRwfO9kAMUJQSpLuHNO2nT01s3GxvqxzczuLQ9he5nGSi0RRodUzDwek1qUp6I4uV3gRHKz4B07YIc1i2fK88NLXjyQ0uLVZ+7Oq1+kgDp6+N7vvXXZ5qZ17tdaysSbKEE0Y8zsoXw7Rk1tPN19vrCS+TSpomNMyQyne1k+I5iZ/qkxPTLAS5qI6Utc2dL3GJdxWRAEfGNO9AIX3GV/jmmKfdcvwGsCYP8hxqs5vLYfgacw3D8NLf1941lQUwavC17jm9EV9g5G3Pn1Cp516E=
  file_glob: true
  file: "artifacts/*"
  skip_cleanup: true
  on:
    tags: true

notifications:
  webhooks:
    urls:
      - https://api.citra-emu.org/code/travis/notify