Files
piratepoet/tests_env/docker/docker-compose.yml
2024-09-23 15:16:59 +02:00

146 lines
4.7 KiB
YAML

services:
codeception_acceptance:
image: mailpoet/wordpress:${CODECEPTION_IMAGE_VERSION:-8.0-cli_20220605.0}
depends_on:
- smtp
- wordpress
- chrome
volumes:
- wp-core:/wp-core
- mailhog-data:/mailhog-data
- ../../mailpoet:/project
- ../../mailpoet:/wp-core/wp-content/plugins/mailpoet
- ../../mailpoet-premium:/project/mailpoet-premium
- ../../mailpoet-premium:/wp-core/wp-content/plugins/mailpoet-premium
- ../../packages:/wp-core/wp-content/plugins/packages
- ./codeception/docker-entrypoint.sh:/docker-entrypoint.sh
- ../../dev/php.ini:/usr/local/etc/php/conf.d/php_user.ini
- ../../dev/xdebug.ini:/usr/local/etc/php/conf.d/xdebug.ini
entrypoint: /docker-entrypoint.sh
environment:
WP_ROOT: /wp-core
WP_ROOT_MULTISITE: /wp-core
WP_TEST_MULTISITE_SLUG: php7_multisite
HTTP_HOST: test.local
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_NAME: wordpress
WORDPRESS_TABLE_PREFIX: mp_
TEST_TYPE: acceptance
PHP_IDE_CONFIG: 'serverName=MailPoetTest'
codeception_integration:
image: mailpoet/wordpress:${CODECEPTION_IMAGE_VERSION:-8.0-cli_20220605.0}
depends_on:
- smtp
- wordpress
volumes:
- wp-core:/wp-core
- mailhog-data:/mailhog-data
- ../../mailpoet:/project
- ../../mailpoet:/wp-core/wp-content/plugins/mailpoet
- ../../mailpoet-premium:/project/mailpoet-premium
- ../../mailpoet-premium:/wp-core/wp-content/plugins/mailpoet-premium
- ../../packages:/wp-core/wp-content/plugins/packages
- ./codeception/docker-entrypoint.sh:/docker-entrypoint.sh
- ../../dev/php.ini:/usr/local/etc/php/conf.d/php_user.ini
- ../../dev/xdebug.ini:/usr/local/etc/php/conf.d/xdebug.ini
entrypoint: /docker-entrypoint.sh
environment:
WP_ROOT: /wp-core
WP_ROOT_MULTISITE: /wp-core
WP_TEST_MULTISITE_SLUG: php7_multisite
HTTP_HOST: test.local
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_NAME: wordpress
WORDPRESS_TABLE_PREFIX: mp_
TEST_TYPE: integration
PHP_IDE_CONFIG: 'serverName=MailPoetTest'
smtp:
image: mailhog/mailhog:v1.0.0
container_name: mailhog_${CIRCLE_NODE_INDEX:-default}
hostname: mailhog
ports:
- 1025:1025
- 8025:8025
user: ${UID:-1000}:${GID:-1000}
environment:
MH_STORAGE: maildir
MH_MAILDIR_PATH: /mailhog-data
volumes:
- mailhog-data:/mailhog-data
wordpress:
image: wordpress:${WORDPRESS_IMAGE_VERSION:-6.6.2-php8.3}
container_name: wordpress_${CIRCLE_NODE_INDEX:-default}
depends_on:
smtp:
condition: service_started
mysql:
condition: service_healthy
volumes:
- wp-core:/var/www/html
- ../../mailpoet:/project
- ../../mailpoet:/var/www/html/wp-content/plugins/mailpoet
- ../../packages:/var/www/html/wp-content/plugins/packages
- ../../mailpoet-premium:/project/mailpoet-premium
- ../../mailpoet-premium:/var/www/html/wp-content/plugins/mailpoet-premium
tmpfs:
- /var/www/html/wp-content/uploads/mailpoet/
ports:
- 8080:80
environment:
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_NAME: wordpress
WORDPRESS_TABLE_PREFIX: mp_
MAILPOET_TRACY_PRODUCTION_MODE: 1
MAILPOET_TRACY_LOG_DIR: /var/www/html/wp-content/plugins/mailpoet/tests/_output/exceptions
command: ['docker-entrypoint.sh', 'apache2-foreground']
networks:
default:
aliases:
- test.local
mysql:
image: ${MYSQL_IMAGE:-cimg/mysql:5.7.38}
container_name: mysql_${CIRCLE_NODE_INDEX:-default}
# Command used for MySQL 8+ because it needs default-authentication-plugin
# parameter and there needs to be some fallback for other MySQL versions.
# --verbose can be changed to any other useless parameter
command: ${MYSQL_COMMAND:---verbose --sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,ANSI,ONLY_FULL_GROUP_BY}
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
tmpfs:
- /dev/shm
- /var/lib/mysql:rw
ports:
- 4401:3306
healthcheck:
test: ['CMD-SHELL', 'mysqladmin ping -hmysql --silent']
interval: 2s
timeout: 30s
retries: 10
chrome:
container_name: chrome_${CIRCLE_NODE_INDEX:-default}
environment:
- DBUS_SESSION_BUS_ADDRESS=/dev/null
tmpfs:
- /dev/shm
image: selenium/standalone-chrome:107.0-20221104
ports:
- 4444
- 5900:5900
volumes:
wp-core:
mailhog-data:
networks:
default: