|
1 | 1 | current-dir := $(dir $(abspath $(lastword $(MAKEFILE_LIST)))) |
2 | 2 |
|
3 | | -.PHONY: build |
4 | | -build: deps start |
5 | | - |
6 | | -.PHONY: deps |
7 | | -deps: composer-install |
8 | | - |
9 | | -# 🐘 Composer |
10 | | -composer-env-file: |
11 | | - @if [ ! -f .env.local ]; then echo '' > .env.local; fi |
12 | | - |
13 | | -.PHONY: composer-install |
14 | | -composer-install: CMD=install |
15 | | - |
16 | | -.PHONY: composer-update |
17 | | -composer-update: CMD=update |
18 | | - |
19 | | -.PHONY: composer-require |
20 | | -composer-require: CMD=require |
21 | | -composer-require: INTERACTIVE=-ti --interactive |
22 | | - |
23 | | -.PHONY: composer-require-module |
24 | | -composer-require-module: CMD=require $(module) |
25 | | -composer-require-module: INTERACTIVE=-ti --interactive |
26 | | - |
27 | | -.PHONY: composer |
28 | | -composer composer-install composer-update composer-require composer-require-module: composer-env-file |
| 3 | +composer-install: |
29 | 4 | @docker run --rm $(INTERACTIVE) --volume $(current-dir):/app --user $(id -u):$(id -g) \ |
30 | | - composer:2.3.7 $(CMD) \ |
| 5 | + composer:2.6.4 install \ |
31 | 6 | --ignore-platform-reqs \ |
32 | 7 | --no-ansi |
33 | 8 |
|
34 | | -.PHONY: reload |
35 | | -reload: composer-env-file |
36 | | - @docker-compose exec php-fpm kill -USR2 1 |
37 | | - @docker-compose exec nginx nginx -s reload |
38 | | - |
39 | | -.PHONY: test |
40 | | -test: composer-env-file |
| 9 | +test: |
41 | 10 | docker exec codely-php_ddd_skeleton-mooc_backend-php ./vendor/bin/phpunit --testsuite mooc |
42 | 11 | docker exec codely-php_ddd_skeleton-mooc_backend-php ./vendor/bin/phpunit --testsuite shared |
43 | 12 | docker exec codely-php_ddd_skeleton-mooc_backend-php ./vendor/bin/behat -p mooc_backend --format=progress -v |
44 | 13 | docker exec codely-php_ddd_skeleton-backoffice_backend-php ./vendor/bin/phpunit --testsuite backoffice |
45 | 14 |
|
46 | | -.PHONY: static-analysis |
47 | | -static-analysis: composer-env-file |
| 15 | +static-analysis: |
48 | 16 | docker exec codely-php_ddd_skeleton-mooc_backend-php ./vendor/bin/psalm |
49 | 17 |
|
50 | | -.PHONY: lint |
51 | 18 | lint: |
52 | 19 | docker exec codely-php_ddd_skeleton-mooc_backend-php ./vendor/bin/ecs check |
53 | 20 |
|
54 | | -.PHONY: run-tests |
55 | | -run-tests: composer-env-file |
56 | | - mkdir -p build/test_results/phpunit |
57 | | - ./vendor/bin/phpunit --exclude-group='disabled' --log-junit build/test_results/phpunit/junit.xml --testsuite backoffice |
58 | | - ./vendor/bin/phpunit --exclude-group='disabled' --log-junit build/test_results/phpunit/junit.xml --testsuite mooc |
59 | | - ./vendor/bin/phpunit --exclude-group='disabled' --log-junit build/test_results/phpunit/junit.xml --testsuite shared |
60 | | - ./vendor/bin/behat -p mooc_backend --format=progress -v |
61 | | - |
62 | | -# 🐳 Docker Compose |
63 | | -.PHONY: start |
64 | | -start: CMD=up --build -d |
65 | | - |
66 | | -.PHONY: stop |
67 | | -stop: CMD=stop |
| 21 | +start: |
| 22 | + @if [ ! -f .env.local ]; then echo '' > .env.local; fi |
| 23 | + UID=${shell id -u} GID=${shell id -g} docker compose up --build -d |
| 24 | + make clean-cache |
68 | 25 |
|
69 | | -.PHONY: destroy |
70 | | -destroy: CMD=down |
| 26 | +stop: |
| 27 | + UID=${shell id -u} GID=${shell id -g} docker compose stop |
71 | 28 |
|
72 | | -# Usage: `make doco CMD="ps --services"` |
73 | | -# Usage: `make doco CMD="build --parallel --pull --force-rm --no-cache"` |
74 | | -.PHONY: doco |
75 | | -doco start stop destroy: composer-env-file |
76 | | - UID=${shell id -u} GID=${shell id -g} docker-compose $(CMD) |
| 29 | +destroy: |
| 30 | + UID=${shell id -u} GID=${shell id -g} docker compose down |
77 | 31 |
|
78 | | -.PHONY: rebuild |
79 | | -rebuild: composer-env-file |
80 | | - docker-compose build --pull --force-rm --no-cache |
81 | | - make deps |
| 32 | +rebuild: |
| 33 | + docker compose build --pull --force-rm --no-cache |
| 34 | + make install |
82 | 35 | make start |
83 | 36 |
|
84 | | -.PHONY: ping-mysql |
85 | 37 | ping-mysql: |
86 | 38 | @docker exec codely-php_ddd_skeleton-mooc-mysql mysqladmin --user=root --password= --host "127.0.0.1" ping --silent |
87 | 39 |
|
88 | | -.PHONY: ping-elasticsearch |
89 | 40 | ping-elasticsearch: |
90 | 41 | @curl -I -XHEAD localhost:9200 |
91 | 42 |
|
92 | | -.PHONY: ping-rabbitmq |
93 | 43 | ping-rabbitmq: |
94 | 44 | @docker exec codely-php_ddd_skeleton-rabbitmq rabbitmqctl ping --silent |
95 | 45 |
|
96 | 46 | clean-cache: |
97 | 47 | @rm -rf apps/*/*/var |
98 | | - @docker exec codely-php_ddd_skeleton-backoffice_backend-php ./apps/backoffice/backend/bin/console cache:warmup |
99 | | - @docker exec codely-php_ddd_skeleton-backoffice_frontend-php ./apps/backoffice/frontend/bin/console cache:warmup |
100 | 48 | @docker exec codely-php_ddd_skeleton-mooc_backend-php ./apps/mooc/backend/bin/console cache:warmup |
0 commit comments