From cba829fbdd8efdd0e13b35059e2d9e79c42a0769 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 23 Feb 2026 14:43:06 +0000 Subject: [PATCH] feat(php): pre-warm Composer cache with common dependencies Installs laravel/framework, livewire, pint, pest, and testbench into the Composer cache during build. CI jobs hit local cache instead of downloading ~48MB of packages per run. Co-Authored-By: Claude Opus 4.6 --- php/Dockerfile | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/php/Dockerfile b/php/Dockerfile index dfd8cbb..8eb6b77 100644 --- a/php/Dockerfile +++ b/php/Dockerfile @@ -12,5 +12,16 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ # Composer COPY --from=composer:2 /usr/bin/composer /usr/bin/composer +# Pre-warm Composer cache with common dependencies across all core/php-* repos. +# This means `composer install` in CI hits local cache instead of downloading. +RUN mkdir /tmp/warmup && cd /tmp/warmup \ + && composer init --name=lthn/warmup --no-interaction \ + && composer config allow-plugins.pestphp/pest-plugin true \ + && composer config allow-plugins.phpstan/extension-installer true \ + && composer require --no-interaction --prefer-dist \ + laravel/framework livewire/livewire \ + laravel/pint pestphp/pest orchestra/testbench \ + && rm -rf /tmp/warmup + # Verify RUN php -v && composer --version