From 10a2f05c3185c475c0cb79bfbf2f087344f30056 Mon Sep 17 00:00:00 2001 From: Kevin Bataille Date: Sun, 13 Sep 2026 17:21:42 +0200 Subject: [PATCH] chore: update Dockerfile and docker-compose for local dev --- Dockerfile | 5 +++-- docker-compose.yml | 26 ++++++++++++++++++++++---- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0ceaf5c..72929c7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM php:8.1-cli +FROM php:8.4-cli # Install system dependencies RUN apt-get update && apt-get install -y \ @@ -7,9 +7,10 @@ RUN apt-get update && apt-get install -y \ 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 libxml \ && docker-php-ext-install intl \ && docker-php-ext-install mbstring \ && docker-php-ext-install pdo \ diff --git a/docker-compose.yml b/docker-compose.yml index b4fba45..8158971 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,18 +1,36 @@ -version: '3.8' - services: + db: + image: mysql:8.0 + environment: + MYSQL_ROOT_PASSWORD: root + MYSQL_DATABASE: wordpress_tests + tmpfs: + - /var/lib/mysql + healthcheck: + test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] + interval: 5s + retries: 10 + app: build: context: . dockerfile: Dockerfile + depends_on: + db: + condition: service_healthy volumes: - .:/app - composer-cache:/root/.composer/cache environment: - - WP_TESTS_DIR=/tmp/wordpress-tests-lib - command: > + - WP_TESTS_DIR=/app/vendor/wp-phpunit/wp-phpunit + - WP_PHPUNIT__TESTS_CONFIG=/app/tests/wp-tests-config.php + entrypoint: > sh -c " composer install --no-interaction && + if [ ! -f /app/tests/wp-tests-config.php ]; then + curl -sL https://github.com/WordPress/wordpress-develop/raw/master/wp-tests-config-sample.php > /tmp/wp-tests-config-sample.php && + sed 's/youremptytestdbnamehere/wordpress_tests/' /tmp/wp-tests-config-sample.php | sed 's/yourusernamehere/root/' | sed 's/yourpasswordhere/root/' | sed 's/localhost/db/' > /app/tests/wp-tests-config.php + fi && composer test "