language: php sudo: true php: - 5.5.9 # - 5.6 # - 7.0 # - hhvm addons: hosts: - ninja.dev cache: directories: - vendor - $HOME/.composer/cache env: global: - COMPOSER_DISCARD_CHANGES=true - COMPOSER_NO_INTERACTION=1 - COMPOSER_DISABLE_XDEBUG_WARN=1 before_install: # set GitHub token and update composer - if [ -n "$GH_TOKEN" ]; then composer config github-oauth.github.com ${GH_TOKEN}; fi; - composer self-update && composer -V install: # install Composer dependencies - rm composer.lock # these providers require referencing git commit's which cause Travis to fail - sed -i '/mollie/d' composer.json - sed -i '/2checkout/d' composer.json - travis_retry composer install --prefer-dist; before_script: # prevent MySQL went away error - mysql -u root -e 'SET @@GLOBAL.wait_timeout=28800;' # copy configuration files - cp .env.example .env - cp tests/_bootstrap.php.default tests/_bootstrap.php - php artisan key:generate --no-interaction - sed -i 's/APP_ENV=production/APP_ENV=development/g' .env - sed -i 's/APP_DEBUG=false/APP_DEBUG=true/g' .env - sed -i '$a NINJA_DEV=true' .env - sed -i '$a TRAVIS=true' .env # create the database and user - mysql -u root -e "create database IF NOT EXISTS ninja;" - mysql -u root -e "GRANT ALL PRIVILEGES ON ninja.* To 'ninja'@'localhost' IDENTIFIED BY 'ninja'; FLUSH PRIVILEGES;" # migrate and seed the database - php artisan migrate --no-interaction - php artisan db:seed --no-interaction # default seed - php artisan db:seed --no-interaction --class=UserTableSeeder # development seed # Start webserver on ninja.dev:8000 - php artisan serve --host=ninja.dev --port=8000 & # '&' allows to run in background # Start PhantomJS - phantomjs --webdriver=4444 & # '&' allows to run in background # Give it some time to start - sleep 5 # Make sure the app is up-to-date - curl -L http://ninja.dev:8000/update script: - php ./vendor/codeception/codeception/codecept run --debug acceptance AllPagesCept.php - php ./vendor/codeception/codeception/codecept run --debug acceptance APICest.php #- php ./vendor/codeception/codeception/codecept run --debug acceptance CheckBalanceCest.php #- php ./vendor/codeception/codeception/codecept run --debug acceptance ClientCest.php #- php ./vendor/codeception/codeception/codecept run --debug acceptance ExpenseCest.php #- php ./vendor/codeception/codeception/codecept run --debug acceptance CreditCest.php #- php ./vendor/codeception/codeception/codecept run --debug acceptance InvoiceCest.php #- php ./vendor/codeception/codeception/codecept run --debug acceptance QuoteCest.php #- php ./vendor/codeception/codeception/codecept run --debug acceptance InvoiceDesignCest.php #- php ./vendor/codeception/codeception/codecept run acceptance OnlinePaymentCest.php #- php ./vendor/codeception/codeception/codecept run --debug acceptance PaymentCest.php #- php ./vendor/codeception/codeception/codecept run --debug acceptance TaskCest.php #- php ./vendor/codeception/codeception/codecept run --debug acceptance TaxRatesCest.php #- sed -i 's/NINJA_DEV=true/NINJA_PROD=true/g' .env #- php ./vendor/codeception/codeception/codecept run acceptance GoProCest.php after_script: - cat .env - mysql -u root -e 'select * from accounts;' ninja - mysql -u root -e 'select * from account_gateways;' ninja - mysql -u root -e 'select * from clients;' ninja - mysql -u root -e 'select * from invoices;' ninja - mysql -u root -e 'select * from invoice_items;' ninja - mysql -u root -e 'select * from payments;' ninja - mysql -u root -e 'select * from credits;' ninja - cat storage/logs/laravel-error.log - cat storage/logs/laravel-info.log - FILES=$(find tests/_output -type f -name '*.png') - for i in $FILES; do echo $i; base64 "$i"; break; done notifications: email: on_success: never on_failure: change