-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
/
docker-compose.yml
77 lines (70 loc) · 2.03 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
services:
setup:
build:
context: .
dockerfile: ./docker/Dockerfile.setup
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.3-xdebug
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.3-rc-alpine3.18
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.3-rc-alpine3.18
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.3-rc-alpine3.18
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
generateJsonModel:
image: php:8.3-rc-alpine3.18
depends_on:
setup:
condition: service_completed_successfully
runLinting:
condition: service_completed_successfully
runQualityCheck:
condition: service_completed_successfully
runUnitTests:
condition: service_completed_successfully
runPerfTests:
condition: service_completed_successfully
working_dir: /app
command: >
/bin/sh -c "php ./scripts/export_to_json.php"
volumes:
- .:/app