FROM php:8.4-cli # Install system dependencies RUN apt-get update && apt-get install -y \ git \ unzip \ libzip-dev \ libxml2-dev \ libicu-dev \ libonig-dev \ default-mysql-client \ && docker-php-ext-install zip \ && docker-php-ext-install dom \ && docker-php-ext-install intl \ && docker-php-ext-install mbstring \ && docker-php-ext-install pdo \ && docker-php-ext-install pdo_mysql # Install Composer COPY --from=composer:latest /usr/bin/composer /usr/bin/composer # Set working directory WORKDIR /app # Copy composer files first for caching COPY composer.json composer.lock* ./ # Install dependencies RUN composer install --no-interaction --no-scripts --no-autoloader --prefer-dist # Copy application code COPY . . # Generate autoloader RUN composer dump-autoload # Default command CMD ["composer", "test"]