-
Notifications
You must be signed in to change notification settings - Fork 0
/
makefile
114 lines (103 loc) · 2.56 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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
.DEFAULT_GOAL := help
NAME=$(shell basename "$(PWD)")
# ##############################################################################
# # GENERAL
# ##############################################################################
.PHONY: help
help: makefile
@echo
@echo " Available actions in "$(NAME)""
@echo
@sed -n 's/^##//p' $< | column -t -s ':'
@echo
# ##############################################################################
# # RECIPES
# ##############################################################################
##: --- GO ---
##: run: go run
run:
go run ./server/.
## wire: go di wire
wire:
ifeq ($(shell which wire),)
go install github.com/google/wire/cmd/wire@latest
cd server/di; \
wire
else
cd server/di; \
wire
endif
perl -0777 -i -pe 's/func\(\)\s*\{.*?cleanup\(\).*?\}\s*/cleanup\n/gs' server/di/wire_gen.go
## mock: go mock generator
mock:
ifeq ($(shell which mockery),)
go install github.com/vektra/mockery/v2@latest
cd server; \
mockery --all --keeptree
else
cd server; \
mockery --all --keeptree
endif
## swagger: go swagger init
swagger:
ifeq ($(shell which swag),)
go install github.com/swaggo/swag/cmd/swag@latest
cd server; \
swag init
swag fmt
else
cd server; \
swag init
swag fmt
endif
## m: go wire && go mock
m: wire mock
## :
# ##############################################################################
# # DOCKER
# ##############################################################################
##: --- Docker ---
## restart: docker down & up
restart: down up
## down: docker down
down-server:
docker-compose -f docker-compose.yml down
down:
docker-compose -f docker-compose-all.yml down
## up: docker up
up-server:
docker-compose -f docker-compose.yml up -d
up:
docker-compose -f docker-compose-db-swagger.yml up -d
## prune: docker prune
.PHONY: prune
prune:
docker volume prune -f
docker image prune -f
docker container prune -f
docker network prune -f
## :
# ##############################################################################
# # TEST
# ##############################################################################
##: --- Unit Test ---
## unit: run unit test (arg=<filename>)
unit:
ifeq ($(arg),)
cd server; \
go test ./...
else
cd server; \
go test $(shell find $(PWD) -name "$(arg)_test.go") $(shell find $(PWD) -name "$(arg).go")
endif
## :
##: --- Acceptance Test ---
## test: run acceptance test (arg=<filename>)
test:
ifeq ($(arg),)
cd acceptance_test; \
npm run cy:run
else
cd acceptance_test; \
npm run cy:run -- --spec $(shell find $(PWD) -name "$(arg).cy.js" | sed 's/.*acceptance_test\///')
endif