# GitLab CI for Laravel # GitLab reads this file automatically when it is committed at the repository root as `.gitlab-ci.yml`. workflow: rules: - if: '$CI_COMMIT_MESSAGE =~ /(\[ci skip\]|\[skip ci\])/i' when: never - if: '$CI_PIPELINE_SOURCE == "push"' when: always - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' when: always - if: '$CI_COMMIT_TAG' when: always - when: never stages: - test variables: APP_ENV: testing APP_DEBUG: "false" LOG_CHANNEL: stderr DB_CONNECTION: sqlite DB_DATABASE: "$CI_PROJECT_DIR/database/database.sqlite" CACHE_DRIVER: array CACHE_STORE: array SESSION_DRIVER: array QUEUE_CONNECTION: sync MAIL_MAILER: array BROADCAST_CONNECTION: log FILESYSTEM_DISK: local COMPOSER_CACHE_DIR: "$CI_PROJECT_DIR/.composer-cache" XDEBUG_MODE: coverage cache: key: files: - composer.lock paths: - .composer-cache/ - vendor/ phpunit: image: php:8.3-cli stage: test before_script: - apt-get update - apt-get install -y --no-install-recommends git unzip curl libzip-dev libpng-dev libonig-dev libxml2-dev libsqlite3-dev libcurl4-openssl-dev - docker-php-ext-install curl dom gd mbstring pdo pdo_sqlite xml xmlwriter zip - php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" - php composer-setup.php --install-dir=/usr/local/bin --filename=composer - rm composer-setup.php - composer install --prefer-dist --no-interaction --no-progress - | cat > .env <