diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 68b1bcf08..7dcf05913 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,50 +1,76 @@ --- -image: registry.gitlab.com/chill-projet/chill-app/php-base-image:7.4 # Select what we should cache between builds cache: - paths: - - tests/app/vendor/ - - .composer - -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" + paths: + - tests/app/vendor/ + - .cache # 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. services: - - name: postgis/postgis:12-3.1-alpine - alias: db - - name: redis - alias: redis + - name: postgis/postgis:12-3.1-alpine + alias: db + - name: redis + alias: redis # Set any variables we need variables: - # Configure postgres environment variables (https://hub.docker.com/r/_/postgres/) - POSTGRES_USER: postgres - POSTGRES_PASSWORD: postgres - # fetch the chill-app using git submodules - GIT_SUBMODULE_STRATEGY: recursive - REDIS_HOST: redis - REDIS_PORT: 6379 - REDIS_URL: redis://redis:6379 - # change vendor dir to make the app install into tests/apps - COMPOSER_VENDOR_DIR: tests/app/vendor - # cache some composer data - COMPOSER_HOME: .composer + GIT_DEPTH: 1 + # Configure postgres environment variables (https://hub.docker.com/r/_/postgres/) + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + # fetch the chill-app using git submodules + GIT_SUBMODULE_STRATEGY: recursive + REDIS_HOST: redis + REDIS_PORT: 6379 + REDIS_URL: redis://redis:6379 + # change vendor dir to make the app install into tests/apps + COMPOSER_VENDOR_DIR: tests/app/vendor +stages: + - Composer install + - Tests -# Run our tests -test: - script: - - php -d memory_limit=3G bin/phpunit --colors=never +build: + stage: Composer install + image: registry.gitlab.com/chill-projet/chill-app/php-base-image:7.4 + 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/ diff --git a/src/Bundle/ChillMainBundle/migrations/Version20100000000000.php b/src/Bundle/ChillMainBundle/migrations/Version20100000000000.php new file mode 100644 index 000000000..af6739936 --- /dev/null +++ b/src/Bundle/ChillMainBundle/migrations/Version20100000000000.php @@ -0,0 +1,21 @@ +addSql('CREATE EXTENSION IF NOT EXISTS unaccent'); + $this->addSql('CREATE EXTENSION IF NOT EXISTS pg_trgm'); + } + + public function down(Schema $schema): void + { + } +}