-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathMakefile
87 lines (69 loc) · 1.94 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
PWD = $(shell pwd)
MODULE = rio
IMAGE_TAG ?= $(MODULE)
GITHUB_SHA ?= $(MODULE)
SRC = `go list -f {{.Dir}} ./... | grep -v /vendor/`
ndef = $(if $(value $(1)),,$(error $(1) not set))
all: fmt lint test
fmt:
@echo "==> Formatting source code..."
@go fmt $(SRC)
lint:
@echo "==> Running lint check..."
@go vet $(SRC)
test:
@echo "==> Running tests..."
@go clean ./...
@go test -vet=off `go list ./... | grep -v cmd` -race -p 1 --cover
generate:
@echo "==> Generating code..."
@go generate ./...
build:
@docker build \
--build-arg GITHUB_TOKEN=$(GITHUB_TOKEN) \
--build-arg COMMIT_HASH=$(COMMIT_HASH) \
--target release \
-f docker/Dockerfile \
-t $(IMAGE_TAG) .
test-mariadb-up:
@COMPOSE_HTTP_TIMEOUT=180 docker-compose \
-f docker/docker-compose-mariadb.test.yml \
-p mariadb_$(GITHUB_SHA) up \
--force-recreate \
--abort-on-container-exit \
--exit-code-from app \
--build
test-mariadb-down:
@COMPOSE_HTTP_TIMEOUT=180 docker-compose \
-f docker/docker-compose-mariadb.test.yml \
-p mariadb_$(GITHUB_SHA) down \
-v --rmi local
test-mysql-up:
@COMPOSE_HTTP_TIMEOUT=180 docker-compose \
-f docker/docker-compose-mysql.test.yml \
-p mysql_$(GITHUB_SHA) up \
--force-recreate \
--abort-on-container-exit \
--exit-code-from app \
--build
test-mysql-down:
@COMPOSE_HTTP_TIMEOUT=180 docker-compose \
-f docker/docker-compose-mysql.test.yml \
-p mysql_$(GITHUB_SHA) down \
-v --rmi local
dev-up:
@docker compose \
-f docker/docker-compose.dev.yml \
-p $(GITHUB_SHA) up --build -d
dev-down:
@docker compose \
-f docker/docker-compose.dev.yml \
-p $(GITHUB_SHA) down \
-v --rmi local
dev-ps:
@docker compose \
-f docker/docker-compose.dev.yml \
-p $(GITHUB_SHA) ps -a
gen-docs:
@swag init -g cmd/server/main.go --ot yaml --overridesFile docker/.swaggo -o docs
.PHONY: all fmt lint test install test-mariadb-up test-mariadb-down test-mysql-up test-mysql-down dev-up dev-down dev-ps build generate