File: /home/dnlightw-124/dn.lightweb.kr/vendor/mobiledetect/mobiledetectlib/docker-compose.yml
services:
setup:
build:
context: .
dockerfile: ./docker/Dockerfile.setup
platform: linux/amd64
volumes:
- ./vendor:/app/vendor
# Example: docker compose -p mobile-detect up --build runUnitTests
runUnitTests:
# Need xdebug from this image to run with coverage
# https://hub.docker.com/r/alcohol/php/tags
image: alcohol/php:8.4-xdebug
platform: linux/amd64
depends_on:
setup:
condition: service_completed_successfully
working_dir: /app
environment:
XDEBUG_MODE: coverage
command: >
/bin/sh -c "vendor/bin/phpunit -v -c tests/phpunit.xml --coverage-html .coverage --strict-coverage --stop-on-risky"
volumes:
- .:/app
runPerfTests:
image: php:8.4-alpine
platform: linux/amd64
depends_on:
setup:
condition: service_completed_successfully
working_dir: /app
command: >
/bin/sh -c "vendor/bin/phpbench run tests/benchmark/MobileDetectBench.php --retry-threshold=1 --iterations=10 --revs=1000 --report=aggregate"
volumes:
- .:/app
runLinting:
image: php:8.4-alpine
platform: linux/amd64
depends_on:
setup:
condition: service_completed_successfully
working_dir: /app
command: >
/bin/sh -c "vendor/bin/phpcs; vendor/bin/phpcbf"
volumes:
- .:/app
runQualityCheck:
image: php:8.4-alpine
platform: linux/amd64
depends_on:
setup:
condition: service_completed_successfully
working_dir: /app
command: >
/bin/sh -c "vendor/bin/phpstan analyse --debug --memory-limit=1G --level 3 src tests"
volumes:
- .:/app
# Pre-release validation gate - runs all checks
# Usage: docker compose -p mobile-detect up --build runAll
runAll:
image: php:8.4-alpine
platform: linux/amd64
depends_on:
runLinting:
condition: service_completed_successfully
runQualityCheck:
condition: service_completed_successfully
runUnitTests:
condition: service_completed_successfully
runPerfTests:
condition: service_completed_successfully
command: >
/bin/sh -c "echo '✅ All pre-release checks passed!'"
generateJsonModel:
image: php:8.4-alpine
platform: linux/amd64
depends_on:
runAll:
condition: service_completed_successfully
working_dir: /app
command: >
/bin/sh -c "php ./scripts/export_to_json.php"
volumes:
- .:/app