Update CI.

This commit is contained in:
Pol Dellaiera 2021-11-23 10:47:41 +01:00
parent 1e804f351c
commit c5da567480
No known key found for this signature in database
GPG Key ID: D476DFE9C67467CA
2 changed files with 84 additions and 37 deletions

View File

@ -1,50 +1,76 @@
--- ---
image: registry.gitlab.com/chill-projet/chill-app/php-base-image:7.4
# Select what we should cache between builds # Select what we should cache between builds
cache: cache:
paths: paths:
- tests/app/vendor/ - tests/app/vendor/
- .composer - .cache
before_script:
# add extensions to postgres
- PGPASSWORD=$POSTGRES_PASSWORD psql -U $POSTGRES_USER -h db -c "CREATE EXTENSION IF NOT EXISTS unaccent; CREATE EXTENSION IF NOT EXISTS pg_trgm;"
# Install and run Composer
- mkdir -p $COMPOSER_HOME
- curl -sS https://getcomposer.org/installer | php
- php -d memory_limit=2G composer.phar install
- php tests/app/bin/console doctrine:migrations:migrate -n
- php -d memory_limit=2G tests/app/bin/console cache:clear --env=dev
- php -d memory_limit=3G tests/app/bin/console doctrine:fixtures:load -n
- php -d memory_limit=2G tests/app/bin/console cache:clear --env=test
- echo "before_script finished"
# Bring in any services we need http://docs.gitlab.com/ee/ci/docker/using_docker_images.html#what-is-a-service # Bring in any services we need http://docs.gitlab.com/ee/ci/docker/using_docker_images.html#what-is-a-service
# See http://docs.gitlab.com/ee/ci/services/README.html for examples. # See http://docs.gitlab.com/ee/ci/services/README.html for examples.
services: services:
- name: postgis/postgis:12-3.1-alpine - name: postgis/postgis:12-3.1-alpine
alias: db alias: db
- name: redis - name: redis
alias: redis alias: redis
# Set any variables we need # Set any variables we need
variables: variables:
# Configure postgres environment variables (https://hub.docker.com/r/_/postgres/) GIT_DEPTH: 1
POSTGRES_USER: postgres # Configure postgres environment variables (https://hub.docker.com/r/_/postgres/)
POSTGRES_PASSWORD: postgres POSTGRES_USER: postgres
# fetch the chill-app using git submodules POSTGRES_PASSWORD: postgres
GIT_SUBMODULE_STRATEGY: recursive # fetch the chill-app using git submodules
REDIS_HOST: redis GIT_SUBMODULE_STRATEGY: recursive
REDIS_PORT: 6379 REDIS_HOST: redis
REDIS_URL: redis://redis:6379 REDIS_PORT: 6379
# change vendor dir to make the app install into tests/apps REDIS_URL: redis://redis:6379
COMPOSER_VENDOR_DIR: tests/app/vendor # change vendor dir to make the app install into tests/apps
# cache some composer data COMPOSER_VENDOR_DIR: tests/app/vendor
COMPOSER_HOME: .composer
stages:
- Composer install
- Tests
# Run our tests build:
test: stage: Composer install
script: image: registry.gitlab.com/chill-projet/chill-app/php-base-image:7.4
- php -d memory_limit=3G bin/phpunit --colors=never before_script:
- curl -sS https://getcomposer.org/installer | php
- php -d memory_limit=2G composer.phar config -g cache-dir "$(pwd)/.cache"
script:
- php -d memory_limit=2G composer.phar install --optimize-autoloader --no-ansi --no-interaction --no-progress
cache:
paths:
- .cache/
artifacts:
expire_in: 30 min
paths:
- bin
- tests/app/vendor/
sa_tests:
stage: Tests
image: registry.gitlab.com/chill-projet/chill-app/php-base-image:7.4
script:
- php -d memory_limit=3G bin/phpstan
artifacts:
expire_in: 30 min
paths:
- bin
- tests/app/vendor/
unit_tests:
stage: Tests
image: registry.gitlab.com/chill-projet/chill-app/php-base-image:7.4
script:
- php tests/app/bin/console doctrine:migrations:migrate -n
- php -d memory_limit=2G tests/app/bin/console cache:clear --env=dev
- php -d memory_limit=3G tests/app/bin/console doctrine:fixtures:load -n
- php -d memory_limit=2G tests/app/bin/console cache:clear --env=test
- php -d memory_limit=3G bin/phpunit --colors=never
artifacts:
expire_in: 30 min
paths:
- bin
- tests/app/vendor/

View File

@ -0,0 +1,21 @@
<?php
declare(strict_types=1);
namespace Chill\Migrations\Main;
use Doctrine\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
class Version20100000000000 extends AbstractMigration
{
public function up(Schema $schema): void
{
$this->addSql('CREATE EXTENSION IF NOT EXISTS unaccent');
$this->addSql('CREATE EXTENSION IF NOT EXISTS pg_trgm');
}
public function down(Schema $schema): void
{
}
}