63 lines
1.8 KiB
YAML
63 lines
1.8 KiB
YAML
matrix:
|
|
PHP_VERSION:
|
|
# - 8.0
|
|
- 8.1
|
|
|
|
services:
|
|
db:
|
|
image: mariadb:10.3
|
|
environment:
|
|
- MARIADB_ROOT_PASSWORD=root
|
|
|
|
pipeline:
|
|
wait_db:
|
|
image: gitnet.fr/deblan/timeout:latest
|
|
commands:
|
|
- /bin/timeout -t 30 -v -c 'while true; do nc -z -v db 3306 2>&1 | grep succeeded && exit 0; sleep 0.5; done'
|
|
|
|
create_db:
|
|
image: mariadb:10.3
|
|
commands:
|
|
- mysql -hdb -uroot -proot -e "CREATE DATABASE app"
|
|
- mysql -hdb -uroot -proot -e "CREATE DATABASE app_test"
|
|
|
|
config:
|
|
image: deblan/php:8.1
|
|
commands:
|
|
- echo APP_ENV=prod >> .env.local
|
|
- echo APP_SECRET=$(openssl rand -hex 32) >> .env.local
|
|
- echo DATABASE_URL=mysql://root:root@db/app >> .env.local
|
|
- echo DATABASE_URL=mysql://root:root@db/app_test >> .env.test.local
|
|
|
|
composer:
|
|
image: deblan/php:${PHP_VERSION}
|
|
commands:
|
|
- apt-get update && apt-get -y install git
|
|
- composer install --no-scripts
|
|
|
|
migrate:
|
|
image: deblan/php:${PHP_VERSION}
|
|
environment:
|
|
- PHP=php
|
|
commands:
|
|
- ./bin/doctrine-migrate
|
|
|
|
node:
|
|
image: node:16-slim
|
|
commands:
|
|
- yarn
|
|
- test -d public/js || mkdir public/js
|
|
- test -f public/js/fos_js_routes.json || echo "{}" > public/js/fos_js_routes.json
|
|
- npm run build
|
|
|
|
tests:
|
|
image: deblan/php:${PHP_VERSION}
|
|
commands:
|
|
- apt-get update && apt-get install -y unzip
|
|
- composer install --no-scripts --dev
|
|
- curl -o chromedriver_linux64.zip https://chromedriver.storage.googleapis.com/108.0.5359.71/chromedriver_linux64.zip && unzip -d drivers chromedriver_linux64.zip
|
|
- curl -o /tmp/chrome.deb https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && apt install -y /tmp/chrome.deb
|
|
- vendor/bin/bdi detect drivers
|
|
- symfony server:start --port=9080 --no-tls -d
|
|
- php bin/phpunit
|