# Note: This GitLab CI configuration is used for internal testing, users can ignore it. include: - project: '${CI_PROJECT_NAMESPACE}/ci-libs-for-client-libraries' file: - '/${CI_PROJECT_NAME}/.gitlab-ci.yml' - project: 'deepl/ops/ci-cd-infrastructure/gitlab-ci-lib' file: - '/templates/.buildkit.yml' variables: DOCKER_IMAGE_PREFIX: $CONTAINER_REGISTRY/oss-client-libraries/$CI_PROJECT_NAME-build COMPOSER_HOME: /.composer # Global -------------------------- cache: key: files: - composer.json - composer.lock paths: - vendor/ - /.composer stages: - build - check - test before_script: # Install project dependencies using Composer - php /composer.phar install # stage: build --------------------- build image: stage: build extends: .buildkit variables: DOCKER_IMAGE: ${DOCKER_IMAGE_PREFIX}_${PHP_VERSION} BUILDKIT_IMAGE: $DOCKER_IMAGE:latest BUILDKIT_CACHE_IMAGE: $DOCKER_IMAGE:latest BUILDKIT_EXTRA_ARGS: "--opt build-arg:PHP_VERSION=${PHP_VERSION}" parallel: matrix: - PHP_VERSION: "8.1" - PHP_VERSION: "8.0" - PHP_VERSION: "7.4" - PHP_VERSION: "7.3" # stage: check ---------------------- code sniffer: stage: check image: ${DOCKER_IMAGE_PREFIX}_8.1 script: - vendor/bin/phpcs # stage: test ---------------------- test: stage: test extends: .test parallel: matrix: - PHP_VERSION: "8.1" - PHP_VERSION: "8.1" USE_MOCK_SERVER: "use mock server" - PHP_VERSION: "8.0" USE_MOCK_SERVER: "use mock server" - PHP_VERSION: "7.4" USE_MOCK_SERVER: "use mock server" - PHP_VERSION: "7.3" USE_MOCK_SERVER: "use mock server" image: ${DOCKER_IMAGE_PREFIX}_${PHP_VERSION} script: - > if [[ ! -z "${USE_MOCK_SERVER}" ]]; then echo "Using mock server" export DEEPL_SERVER_URL=http://deepl-mock:3000 export DEEPL_MOCK_SERVER_PORT=3000 export DEEPL_PROXY_URL=http://deepl-mock:3001 export DEEPL_MOCK_PROXY_SERVER_PORT=3001 fi - vendor/bin/phpunit artifacts: reports: coverage_report: coverage_format: cobertura path: reports/cobertura.xml junit: - reports/junit.xml when: always