osb/.gitlab-test.yml

49 lines
1.3 KiB
YAML
Raw Normal View History

2021-06-30 00:36:27 +00:00
test:
image: ${CI_REGISTRY}/leenooks/php:8.1-fpm-alpine-mysql-test
2021-06-30 00:36:27 +00:00
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
2021-06-30 00:36:27 +00:00
variables:
MYSQL_DATABASE: testing
MYSQL_ROOT_PASSWORD: test
MYSQL_USER: test
MYSQL_PASSWORD: test
tags:
- php
2021-06-30 00:36:27 +00:00
only:
- master
- test
2021-06-30 00:36:27 +00:00
before_script:
- mv .env.testing .env
2021-06-30 00:36:27 +00:00
# Install Composer and project dependencies.
- mkdir -p ${COMPOSER_HOME}
- if [ -n "$GITHUB_TOKEN" ]; then cat $GITHUB_TOKEN |base64 -d > ${COMPOSER_HOME}/auth.json; fi
- composer install
2021-06-30 00:36:27 +00:00
# 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
2021-06-30 00:36:27 +00:00
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