# Единый merge gate: тесты, ktlint и detekt. # Testcontainers поднимает PostgreSQL 18 через Docker-in-Docker, поэтому runner # должен разрешать privileged-сервисы (docker:dind) и сеть до docker:2375. stages: - check variables: GRADLE_OPTS: "-Dorg.gradle.daemon=false" GRADLE_USER_HOME: "$CI_PROJECT_DIR/.gradle" DOCKER_HOST: "tcp://docker:2375" DOCKER_TLS_CERTDIR: "" TESTCONTAINERS_HOST_OVERRIDE: "docker" check: stage: check image: eclipse-temurin:21-jdk services: - name: docker:27-dind alias: docker cache: key: "gradle-$CI_COMMIT_REF_SLUG" paths: - .gradle/caches - .gradle/wrapper script: - ./gradlew --no-daemon test ktlintCheck detekt evidenceCheck artifacts: when: always paths: - build/reports/evidence/index.md rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - if: '$CI_COMMIT_BRANCH'