addons:
    code_climate:
      repo_token:
        secure: "C/bUAEpwfZB82dkzI2Nxx3PW5w/BzbKkSyCkp6YjT046jD2/QKvz6ngCFlt3tAWV11TXWFI6D8DzkMmdWOrQl3SGlPZXRD8QOvCiz0HiGMDvlxjAaPaQecGaQZdx/H4m6xTUXRNUVaYmxlMgkkFCWhAp+HZDs0iyOEVamp0Jszg="
    hosts:
        - localhost
sudo: false

# see http://about.travis-ci.org/docs/user/languages/php/ for more hints
language: php

services:
  - mysql

# list any PHP version you want to test against
php:
  - 5.6
  - 7.0
  - 7.2 
  - 7.1.4

# execute any number of scripts before the test run, custom env's are available as variables
before_script:
  - phpenv config-add .github/travis-memory.ini
  - phantomjs --webdriver=4444  &
  - sleep 4
  - mysql -e 'CREATE DATABASE snipeit_unit;'
  - mysql -e 'CREATE USER "travis'@'localhost";'
  - mysql -e 'GRANT ALL PRIVILEGES ON * . * TO "travis'@'localhost";'
  - mysql -e 'FLUSH PRIVILEGES;'
  - composer self-update
  - composer install -n --prefer-source
  - chmod -R 777 storage
  - php artisan migrate --env=testing-ci --database=mysql --force
  - ./vendor/bin/codecept build
  - php artisan --env=testing-ci key:generate 
  - php artisan --env=testing-ci snipeit:travisci-install
  - php artisan --env=testing-ci db:seed --database=mysql --force
  - php artisan --env=testing-ci snipeit:create-admin --first_name=Alison --last_name=Foobar --email=me@example.com --username=snipe --password=password
  - php artisan --env=testing-ci passport:install
  - php artisan serve --env=testing-ci --port=8000 --host=localhost &
  - sleep 5
  - pip install --user codecov
  - sleep 5



# omitting "script:" will default to phpunit
# use the $DB env variable to determine the phpunit.xml to use
# script: ./vendor/bin/codecept run --env testing-ci
script:
  - ./vendor/bin/codecept run unit
#  - ./vendor/bin/codecept run acceptance --env=testing-ci
  - ./vendor/bin/codecept run functional --env=functional-travis -g func1
  - ./vendor/bin/codecept run functional --env=functional-travis -g func2
  - ./vendor/bin/codecept run api --env=functional-travis

after_script:
  - vendor/bin/test-reporter

after_success:
  - codecov

after_failure:
  - cat tests/_output/*.fail.html
  - curl http://localhost:8000/login
  - cat storage/logs/laravel.log

# configure notifications (email, IRC, campfire etc)
notifications:
  email: false
  slack:
    secure: vv9we1RxB9RsrMbomSdq6D7vz/okobw87pEkgIZjB+hj1QpQ2by90gsPsOa+NgsJEFaEP7e4KlT6SH8kK+zhbmuKaUd3d1//XdcancE22LZXi6tkiB5yuR/Jhhb1LLDqyGJTB4D92hMnnCPiUjpxNA3r437ttNeYRdYIEEP3drA=
  webhooks:
    urls:
      - https://webhooks.gitter.im/e/5e136eb0c1965f3918d0
    on_success: change  # options: [always|never|change] default: always
    on_failure: change  # options: [always|never|change] default: always
    on_start: false     # default: false
