language: php sudo: true php: # - 5.5.9 # - 5.6 # - 5.6 # - 7.0 - 7.1 # - 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 # - export USE_ZEND_ALLOC=0 - rvm use 1.9.3 --install --fuzzy 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 's/MAIL_DRIVER=smtp/MAIL_DRIVER=log/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 # 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 - php artisan ninja:create-test-data 4 true - php artisan db:seed --no-interaction --class=UserTableSeeder # development seed script: - php ./vendor/codeception/codeception/codecept run --debug acceptance APICest.php - php ./vendor/codeception/codeception/codecept run --debug acceptance TaxRatesCest.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 --debug 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 AllPagesCept.php #- sed -i 's/NINJA_DEV=true/NINJA_PROD=true/g' .env #- php ./vendor/codeception/codeception/codecept run acceptance GoProCest.php after_script: - php artisan ninja:check-data --no-interaction - cat .env - mysql -u root -e 'select * from accounts;' ninja - mysql -u root -e 'select * from users;' ninja - mysql -u root -e 'select * from account_gateways;' ninja - mysql -u root -e 'select * from clients;' ninja - mysql -u root -e 'select * from contacts;' 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 - mysql -u root -e 'select * from expenses;' ninja - cat storage/logs/laravel-error.log - cat storage/logs/laravel-info.log - FILES=$(find tests/_output -type f -name '*.png' | sort -nr) - for i in $FILES; do echo $i; base64 "$i"; break; done notifications: email: on_success: never on_failure: change