sudo: false

language: php

branches:
  except:
    - /^release-.*$/
    - /^ghgfk-.*$/

cache:
  directories:
    - $HOME/.composer/cache
    - $HOME/.local
    - zf-mkdoc-theme

env:
  global:
    - COMPOSER_ARGS="--no-interaction --ignore-platform-reqs"
    - SITE_URL=https://zendframework.github.io/zend-mvc-plugin-flashmessenger
    - GH_USER_NAME="Matthew Weier O'Phinney"
    - GH_USER_EMAIL=matthew@weierophinney.net
    - GH_REF=github.com/zendframework/zend-mvc-plugin-flashmessenger.git
    - secure: "c58UgXfy+F7YJkW4bZKI82qY6GvtfKOiqyyybSon4Vrg3Xg9ZEhUFHbt/Bzaay+BwwKKoXqZww8c6WYPI6L/cPwe73iI2exHIesHMDUnhg+UOwOeM8mlwCBywePBfV3BuMH6BqeO+byAt4LEdKe+RpGCPEJY2FGc8o2MDDBcwOK4/6ydLg76ycXnduIhi74CFraHuYoW250povd/gdqNR8QMurdDsbEwr9R44rqV8EJ6P2XB8rpUuXZaiGfDYw626mIHhjUwrS34b/OeWg1+FYVuDqH2yZiYrrvt/bXlB+VPgwn9YuyTytgtWNqXVDtu54oFnllfkwGJGlcp4ra7H9E1fTqXTeggAgzk40AR8MkSn8kXJNi9EzREphNskA+wVdE1fmGbyTa2Xw5rLHK4xuFA26r6yxca0lUapdhTDknzgBdGoy2Jwk9pSyHPSIAp8th/0z54B16A5j6YkZW+UVmoa3Bk8ncFmEP4qwcKkbLiDF17icNNxyqdw56Lb9Ih15ZiUC6ZG81vWvXxZwN8dXTtDvtKGYkNRwcPtZEJq6z/nzBS3iyblKTH6FlAZr7REg23ZT5Emgr0sTwNP12oZP2Fqng4NHhvBePxFe1FjoLer9Ho/9ci0cW8LzTXzIbP/ahT1VdE5419AHtsWQF5nFlH/IfkF8X64x5gPKHAebw="

matrix:
  fast_finish: true
  include:
    - php: 5.6
      env:
        - DEPS=lowest
    - php: 5.6
      env:
        - DEPS=locked
        - TEST_COVERAGE=true
        - DEPLOY_DOCS="$(if [[ $TRAVIS_BRANCH == 'master' && $TRAVIS_PULL_REQUEST == 'false' ]]; then echo -n 'true' ; else echo -n 'false' ; fi)"
        - PATH="$HOME/.local/bin:$PATH"
    - php: 5.6
      env:
        - DEPS=latest
    - php: 7
      env:
        - DEPS=lowest
    - php: 7
      env:
        - DEPS=locked
        - CHECK_CS=true
    - php: 7
      env:
        - DEPS=latest
    - php: hhvm
      env:
        - DEPS=lowest
    - php: hhvm
      env:
        - DEPS=locked
    - php: hhvm
      env:
        - DEPS=latest
  allow_failures:
    - php: hhvm

notifications:
  irc: "irc.freenode.org#zftalk.dev"
  email: false

before_install:
  - travis_retry composer self-update
  - if [[ $TRAVIS_PHP_VERSION != "hhvm" && $TEST_COVERAGE != 'true' ]]; then phpenv config-rm xdebug.ini ; fi

install:
  - if [[ $DEPS == 'latest' ]]; then travis_retry composer update $COMPOSER_ARGS ; fi
  - if [[ $DEPS == 'lowest' ]]; then travis_retry composer update --prefer-lowest --prefer-stable $COMPOSER_ARGS ; fi
  - if [[ $TEST_COVERAGE == 'true' ]]; then travis_retry composer require --no-update --dev $COMPOSER_ARGS satooshi/php-coveralls ; fi
  - travis_retry composer install $COMPOSER_ARGS
  - composer show --installed

script:
  - if [[ $TEST_COVERAGE == 'true' ]]; then composer test-coverage ; else composer test ; fi
  - if [[ $CHECK_CS == 'true' ]]; then composer cs-check ; fi
  - if [[ $DEPLOY_DOCS == "true" && "$TRAVIS_TEST_RESULT" == "0" ]]; then travis_retry curl -sSL https://raw.githubusercontent.com/zendframework/zf-mkdoc-theme/master/theme-installer.sh | bash ; fi

after_script:
  - if [[ $TEST_COVERAGE == 'true' ]]; then travis_retry composer upload-coverage ; fi

after_success:
  - if [[ $DEPLOY_DOCS == "true" ]]; then ./zf-mkdoc-theme/deploy.sh ; fi
