--- # Select what we should cache between builds cache: 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:14-3.3-alpine alias: db - name: redis alias: redis # Set any variables we need variables: GIT_DEPTH: 1 # Configure postgres environment variables (https://hub.docker.com/r/_/postgres/) POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres # configure database access DATABASE_URL: postgresql://postgres:postgres@db:5432/postgres?serverVersion=14&charset=utf8 # 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 DEFAULT_CARRIER_CODE: BE stages: - Composer install - Tests - Deploy build: stage: Composer install image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82 before_script: - composer config -g cache-dir "$(pwd)/.cache" script: - composer install --optimize-autoloader --no-ansi --no-interaction --no-progress cache: paths: - .cache/ artifacts: expire_in: 30 min paths: - bin - tests/app/vendor/ code_style: stage: Tests image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82 script: - php-cs-fixer fix --dry-run -v --show-progress=none cache: paths: - .cache/ artifacts: expire_in: 30 min paths: - bin - tests/app/vendor/ phpstan_tests: stage: Tests image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82 script: - bin/phpstan analyze --memory-limit=2G cache: paths: - .cache/ artifacts: expire_in: 30 min paths: - bin - tests/app/vendor/ rector_tests: stage: Tests image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82 script: - bin/rector --dry-run cache: paths: - .cache/ artifacts: expire_in: 30 min paths: - bin - tests/app/vendor/ # psalm_tests: # stage: Tests # image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82 # script: # - bin/psalm # allow_failure: true # artifacts: # expire_in: 30 min # paths: # - bin # - tests/app/vendor/ unit_tests: stage: Tests image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82 # until we fix testes allow_failure: true 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=4G bin/phpunit --colors=never artifacts: expire_in: 30 min paths: - bin - tests/app/vendor/ release: stage: Deploy image: registry.gitlab.com/gitlab-org/release-cli:latest rules: - if: $CI_COMMIT_TAG script: - echo "running release_job" release: tag_name: '$CI_COMMIT_TAG' description: "./.changes/v$CI_COMMIT_TAG.md"