test: image: ${CI_REGISTRY}/leenooks/php:8.3-fpm-ldap-test stage: test # NOTE: This service is dependant on project file configuration, which is not there if the cache was deleted # resulting in the testing to fail on the first run. services: - name: osixia/openldap:latest alias: test_ldap command: ["--loglevel","debug"] variables: LDAP_SEED_INTERNAL_LDIF_PATH: "${CI_PROJECT_DIR}/tests/server/openldap/data" LDAP_SEED_INTERNAL_SCHEMA_PATH: "${CI_PROJECT_DIR}/tests/server/openldap/schema" LDAP_BASE_DN: "dc=Test" LDAP_DOMAIN: "Test" LDAP_ADMIN_PASSWORD: test #CI_DEBUG_SERVICES: "true" tags: - php only: - master before_script: - mv .env.testing .env # Install npm and dependancies - apk add --no-cache npm - npm i - npm run prod # Install Composer and project dependencies. - mkdir -p ${COMPOSER_HOME} - if [ -n "$GITHUB_TOKEN" ]; then cat $GITHUB_TOKEN |base64 -d > ${COMPOSER_HOME}/auth.json; fi - composer install # Generate an application key. Re-cache. - php artisan key:generate script: # Sleep if we need to, in case we want to jump in and see what is going on during the test - if [ -n "$DEBUG_PAUSE" ]; then echo "Pausing for $DEBUG_PAUSE seconds, so you can jump into the containers"; sleep $DEBUG_PAUSE; fi # run laravel tests - XDEBUG_MODE=coverage php vendor/bin/phpunit --coverage-text --colors=never # run frontend tests # if you have any task for testing frontend # set it in your package.json script # comment this out if you don't have a frontend test # npm test