ci(e2e): отдельный maven-e2e job + surefire profile e2e
ordinis-app/pom.xml: - surefire excludes **/e2e/*E2ETest.java по умолчанию (быстрые unit без Docker) - profile `e2e`: combine.self override снимает excludes + includes только e2e .gitlab-ci.yml: новый job maven-e2e: - maven image + docker:29.1.2-dind service (тот же что docker-* jobs) - DOCKER_HOST=tcp://docker:2375, TESTCONTAINERS_HOST_OVERRIDE=docker, RYUK_DISABLED=true - mvn -pl ordinis-app -am -P e2e test - artifact: junit reports - rules: backend-changes (как maven-test) Локально: mvn -pl ordinis-app -am test # быстро, без Docker mvn -pl ordinis-app -am -P e2e test # с Docker, ~23 sec для 12 тестов В CI оба job'а параллельно после path-filter. e2e будет ловить регрессии типа audit_log INET/scope filter gap которые мы уже нашли через эти тесты.
This commit is contained in:
@@ -119,6 +119,12 @@
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<configuration>
|
||||
<!-- По умолчанию e2e тесты НЕ запускаются — нужны Postgres+Kafka
|
||||
через Testcontainers (требует Docker). Включить через профиль
|
||||
`-P e2e` (см. ниже). Локально: либо профиль, либо `-Dtest=*E2ETest`. -->
|
||||
<excludes>
|
||||
<exclude>**/e2e/*E2ETest.java</exclude>
|
||||
</excludes>
|
||||
<!-- Testcontainers требует DOCKER_HOST. На macOS Docker Desktop
|
||||
socket в ~/.docker/run, не /var/run. ENV не наследуется в
|
||||
forked surefire процесс по умолчанию — пробрасываем явно. -->
|
||||
@@ -126,6 +132,10 @@
|
||||
<DOCKER_HOST>${env.DOCKER_HOST}</DOCKER_HOST>
|
||||
<DOCKER_API_VERSION>1.45</DOCKER_API_VERSION>
|
||||
<TESTCONTAINERS_RYUK_DISABLED>true</TESTCONTAINERS_RYUK_DISABLED>
|
||||
<!-- Для CI с docker:dind service: указывает testcontainers
|
||||
что spawned контейнеры доступны через `docker` hostname,
|
||||
не localhost. Локально пусто → testcontainers default. -->
|
||||
<TESTCONTAINERS_HOST_OVERRIDE>${env.TESTCONTAINERS_HOST_OVERRIDE}</TESTCONTAINERS_HOST_OVERRIDE>
|
||||
</environmentVariables>
|
||||
<systemPropertyVariables>
|
||||
<api.version>1.45</api.version>
|
||||
@@ -134,4 +144,26 @@
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<!-- Включает e2e тесты (Testcontainers). Запускать на CI runner с DinD
|
||||
либо локально с Docker Desktop. -->
|
||||
<id>e2e</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<configuration>
|
||||
<excludes combine.self="override"/>
|
||||
<includes>
|
||||
<include>**/e2e/*E2ETest.java</include>
|
||||
</includes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
</project>
|
||||
|
||||
Reference in New Issue
Block a user