language: php

branches:
  only:
    - /.*/

php:
  - 7.1
  - 7.2
  - 7.3

before_install:
  - echo 'extension = memcached.so' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
  - echo 'extension = apcu.so' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
  - yes | pecl install swoole
  - phpenv config-rm xdebug.ini || return 0

install:
  - composer self-update
  - composer install --no-interaction

script:
  - mkdir build
  - composer ci

after_success:
  - rm -f build/clover.xml
  - phpdbg -qrr vendor/bin/phpcov merge build --clover build/clover.xml
  - wget https://scrutinizer-ci.com/ocular.phar
  - php ocular.phar code-coverage:upload --format=php-clover build/clover.xml

# Before deploying, build dist file for current travis tag
before_deploy:
  - rm -f ocular.phar
  - ./build.sh ${TRAVIS_TAG#?}

deploy:
  - provider: releases
    api_key:
      secure: a9dbZchocqeuOViwUeNH54bQR5Sz7rEYXx5b9WPFtnFn9LGKKUaLbA2U91UQ9QKPrcTpsALubUYbw2CnNmvCwzaY+R8lCD3gkU4ohsEnbpnw3deOeixI74sqBHJAuCH9FSaRDGILoBMtUKx2xlzIymFxkIsgIukkGbdkWHDlRWY3oTUUuw1SQ2Xk9KDsbJQtjIc1+G/O6gHaV4qv/R9W8NPmJExKTNDrAZbC1vIUnxqp4UpVo1hst8qPd1at94CndDYM5rG+7imGbdtxTxzamt819qdTO1OfvtctKawNAm7YXZrrWft6c7gI6j6SI4hxd+ZrrPBqbaRFHkZHjnNssO/yn4SaOHFFzccmu0MzvpPCf0qWZwd3sGHVYer1MnR2mHYqU84QPlW3nrHwJjkrpq3+q0JcBY6GsJs+RskHNtkMTKV05Iz6QUI5YZGwTpuXaRm036SmavjGc4IDlMaYCk/NmbB9BKpthJxLdUpczOHpnjXXHziotWD6cfEnbjU3byfD8HY5WrxSjsNT7SKmXN3hRof7bk985ewQVjGT42O3NbnfnqjQQWr/B7/zFTpLR4f526Bkq12CdCyf5lvrbq+POkLVdJ+uFfR7ds248Ue/jBQy6kM1tWmKF9QiwisFlA84eQ4CW3I93Rp97URv+AQa9zmbD0Ve3Udp+g6nF5I=
    file: "./build/shlink_${TRAVIS_TAG#?}_dist.zip"
    skip_cleanup: true
    on:
      tags: true
      php: 7.1
  - provider: script
    script: bash data/travis/trigger_docker_build.sh
    skip_cleanup: true
    on:
      tags: true
      php: 7.1