# Image de TEST front (patron PHP+MySQL du Step 1). CLI seul : lance `php artisan test`.
# Hermetique : deps installees dans l'image. Front ne tire AUCUN repo prive -> pas de SSH.
# Base php:8.4-cli : le composer.lock de front fige symfony 8 / carbon 3.11 qui exigent
# PHP >=8.4 (composer.json require.php=^8.3 est plus permissif que le lock reel).
FROM php:8.4-cli AS test

ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions \
 && install-php-extensions pdo_mysql gd zip bcmath intl exif mbstring \
 && apt-get update \
 && apt-get install -y --no-install-recommends git unzip \
 && rm -rf /var/lib/apt/lists/*

COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
WORKDIR /app

# Aucun repo prive -> --prefer-dist. --no-scripts : evite package:discover au build.
COPY composer.json composer.lock ./
RUN composer install --no-interaction --no-progress --prefer-dist --no-scripts

COPY . .

COPY docker/test/entrypoint.sh /usr/local/bin/test-entrypoint.sh
RUN chmod +x /usr/local/bin/test-entrypoint.sh
ENTRYPOINT ["/usr/local/bin/test-entrypoint.sh"]
