-
-
Notifications
You must be signed in to change notification settings - Fork 37
Expand file tree
/
Copy pathMakefile
More file actions
72 lines (64 loc) · 3.49 KB
/
Makefile
File metadata and controls
72 lines (64 loc) · 3.49 KB
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
help: ## Show the list of available commands with description.
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
.DEFAULT_GOAL := help
build: ## Build services
docker compose -f docker/docker-compose.yml -f docker/docker-compose.override.yml --profile all build
up: ## Start services
docker compose -f docker/docker-compose.yml -f docker/docker-compose.override.yml --profile all up -d
ps: ## List running services
docker compose -f docker/docker-compose.yml -f docker/docker-compose.override.yml ps
stop: ## Stop running services
docker compose -f docker/docker-compose.yml -f docker/docker-compose.override.yml --profile all stop
down: ## Stop running services and remove containers, networks and volumes
docker compose -f docker/docker-compose.yml -f docker/docker-compose.override.yml --profile all down \
--remove-orphans \
--volumes
clear: ## Remove all containers, networks, volumes and images
docker compose -f docker/docker-compose.yml -f docker/docker-compose.override.yml --profile all down \
--remove-orphans \
--volumes \
--rmi all
run: ## Run arbitrary command
docker compose -f docker/docker-compose.yml -f docker/docker-compose.override.yml --profile php run \
--rm \
--entrypoint $(CMD) \
php
test-all: test-sqlite \
test-mysql \
test-pgsql \
test-mssql \
test-oracle
test-sqlite: ## Run SQLite tests
docker compose -f docker/docker-compose.yml -f docker/docker-compose.override.yml --profile php up -d
docker compose -f docker/docker-compose.yml -f docker/docker-compose.override.yml exec php \
vendor/bin/phpunit --testsuite Sqlite $(RUN_ARGS)
test-mysql: ## Run MySQL tests
docker compose -f docker/docker-compose.yml -f docker/docker-compose.override.yml --profile mysql up -d
docker compose -f docker/docker-compose.yml -f docker/docker-compose.override.yml exec php-mysql \
vendor/bin/phpunit --testsuite Mysql $(RUN_ARGS)
test-pgsql: ## Run PostgreSQL tests
docker compose -f docker/docker-compose.yml -f docker/docker-compose.override.yml --profile pgsql up -d
docker compose -f docker/docker-compose.yml -f docker/docker-compose.override.yml exec php-pgsql \
vendor/bin/phpunit --testsuite Pgsql $(RUN_ARGS)
test-mssql: ## Run MSSQL tests
docker compose -f docker/docker-compose.yml -f docker/docker-compose.override.yml --profile mssql up -d
docker compose -f docker/docker-compose.yml -f docker/docker-compose.override.yml exec php-mssql \
vendor/bin/phpunit --testsuite Mssql $(RUN_ARGS)
test-oracle: ## Run Oracle tests
docker compose -f docker/docker-compose.yml -f docker/docker-compose.override.yml --profile oracle up -d
docker compose -f docker/docker-compose.yml -f docker/docker-compose.override.yml exec php-oracle \
bash -c -l 'vendor/bin/phpunit --testsuite Oracle $(RUN_ARGS)'
psalm: CMD="vendor/bin/psalm --no-cache" ## Run static analysis using Psalm
psalm: run
mutation: ## Run mutation tests using Infection
docker compose -f docker/docker-compose.yml -f docker/docker-compose.override.yml --profile pgsql up -d
docker compose -f docker/docker-compose.yml -f docker/docker-compose.override.yml exec php-pgsql \
vendor/bin/infection \
--ignore-msi-with-no-mutations \
--test-framework-options='--testsuite=Pgsql'
composer-require-checker: CMD="vendor/bin/composer-require-checker" ## Check dependencies using Composer Require Checker
composer-require-checker: run
rector: CMD="vendor/bin/rector" ## Check code style using Rector
rector: run
shell: CMD="bash" ## Open interactive shell
shell: run