-
-
Notifications
You must be signed in to change notification settings - Fork 29
/
Copy pathMakefile
93 lines (74 loc) · 2.25 KB
/
Makefile
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# https://docs.docker.com/compose/reference/overview
.PHONY: start
start: build
# starts the entire runtime infrastructure
docker compose up -d ssl
.PHONY: dev
dev: start ui-builder
.PHONY: ui-builder
ui-builder:
docker compose up -d ui-builder
.PHONY: e2e-tests-ci
e2e-tests-ci:
pnpm install
"$(MAKE)" e2e-app
pnpm exec playwright install ${browser} --with-deps
pnpm exec playwright test -c ./test/e2e/playwright.config.ts --project=${browser} --shard=${shard}
.PHONY: e2e-tests
e2e-tests: ui-builder
pnpm install
"$(MAKE)" e2e-app
pnpm exec playwright install chromium firefox
pnpm exec playwright test -c ./test/e2e/playwright.config.ts $(params)
.PHONY: e2e-app
e2e-app:
# delete any cached session storage state files if the service isn't running
docker compose ps e2e-app > /dev/null 2>&1 || "$(MAKE)" clean-test
docker compose up -d e2e-app --build
.PHONY: unit-tests
unit-tests:
docker compose build test-php
docker compose run test-php
.PHONY: unit-tests-ci
unit-tests-ci:
docker compose run --name unittests test-php
docker cp unittests:/var/www/PhpUnitTests.xml .
docker rm unittests
.PHONY: build
build:
pnpm install
# ensure we start with a clean ui-dist volume for every build
-docker volume rm web-languageforge_lf-ui-dist 2>/dev/null
docker compose build mail app lfmerge ld-api next-proxy next-app
.PHONY: scan
# https://docs.docker.com/engine/scan
scan:
docker build -t lf-app:prod -f docker/app/Dockerfile --platform linux/amd64 .
docker login
-docker scan --accept-license lf-app:prod > docker-scan-results.txt
.PHONY: next-dev
next-dev: build
docker compose up -d next-proxy-dev
.PHONY: build-next
build-next:
docker compose build next-proxy next-app
.PHONY: build-base-php
build-base-php:
docker build -t sillsdev/web-languageforge:base-php -f docker/base-php/Dockerfile .
.PHONY: composer-dev
composer-dev:
docker compose build composer-dev
docker compose run composer-dev
.PHONY: clean
clean:
docker compose down
docker system prune -f
.PHONY: clean-test
clean-test:
cd test/e2e && pnpm dlx rimraf test-storage-state
.PHONY: clean-powerwash
clean-powerwash: clean
"$(MAKE)" clean-test
docker system prune -f --volumes
- docker rmi -f `docker images -q "lf-*"` sillsdev/web-languageforge:base-php
docker builder prune -f