aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: 5731808468bf7f1964698229f3399874c8ec2bab (plain)
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
BIN=img
OUT=./bin/$(BIN)
SERVER=./cmd/server/main.go

GO_TEST=go test -v -timeout 100ms -shuffle on -parallel `nproc`
GO_BUILD=go build -v
GO_RUN=go run -v

all: build sass

build:
	$(GO_BUILD) -o $(OUT) $(SERVER)

run: sass
	$(GO_RUN) $(SERVER) \
		--db-type psql \
		--db-con "host=localhost user=gabrielgio password=diablo123 dbname=img port=5432 sslmode=disable" \
		--log-level trace \
		--aes-key=6368616e676520746869732070617373 \
		--root=${HOME}

sass:
	@mkdir -p static
	sassc \
		-I scss scss/main.scss static/main.css \
		--style compressed

test: test.unit test.integration

test.all: gci test.unit test.integration lint

test.integration:
	$(GO_TEST) -tags=integration ./...

test.unit:
	$(GO_TEST) -tags=unit ./...

gen:
	go run -v \
		./cmd/ggen/...

cover.%:
	$(GO_TEST) \
		-tags=$* \
		-coverprofile=bin/cover \
		./...
	go tool cover \
		-html=bin/cover \
		-o bin/cover.html
	echo "open bin/cover.html"

lint:
	golangci-lint run \
	--fix \
	--config golangci.yml \
	--verbose \
	./...

gci:
	find . \
		-type f \
		-name "*.go" \
		-not -path "./vendor/*" \
		-exec gci write -s standard -s default -s "prefix(git.sr.ht/~gabrielgio/img)" {} +