test: image: ${CI_REGISTRY}/leenooks/php:8.0-fpm-latest-test stage: test # NOTE: This service is dependant on project file configuration, which is not there if the cache was deleted # resulting in the testing to fail on the first run. services: - mariadb:10.5 variables: MYSQL_DATABASE: testing MYSQL_ROOT_PASSWORD: test MYSQL_USER: test MYSQL_PASSWORD: test tags: - php only: - master - test before_script: - mv .env.testing .env # Install Composer and project dependencies. - mkdir -p /root/.config/composer - if [ -n "$GITHUB_TOKEN" ]; then cat $GITHUB_TOKEN |base64 -d > /root/.config/composer/auth.json ; fi - composer install # Add mysql client for schema pre-load - apt update -o Acquire::ForceIPv4=true && apt install -o Acquire::ForceIPv4=true -y mariadb-client # Generate an application key. Re-cache. - php artisan key:generate --env=testing - php artisan config:cache --env=testing - php artisan migrate - php artisan db:seed script: # run laravel tests - XDEBUG_MODE=coverage php vendor/bin/phpunit --coverage-text --colors=never # run frontend tests # if you have any task for testing frontend # set it in your package.json script # comment this out if you don't have a frontend test # npm test