# Предварительно прогретый CI-образ для Woodpecker.
# Сборка на CI VM (доверенный администратором коммит):
#   ./scripts/ci-build-image.sh lms-ci:1
# Образ содержит только зависимости; исходники в пайплайне берутся из checkout.
FROM docker:27-dind

RUN apk add --no-cache openjdk21-jdk python3 bash

WORKDIR /opt/lms-warmup

COPY gradle gradle
COPY gradlew settings.gradle.kts build.gradle.kts gradle.properties ./
COPY buildSrc buildSrc
COPY config config
COPY libs libs
COPY services services
COPY web web

# Прогреваем Gradle-кэш и плагины. Это ускоряет check/smoke/release,
# при этом кэш остаётся внутри неизменяемого образа, а не в общем volume.
RUN ./gradlew --no-daemon testClasses --console=plain

# Исходники нужны были только для прогрева кэша; в образе их не оставляем.
RUN rm -rf /opt/lms-warmup
