summaryrefslogtreecommitdiffstats
path: root/Makefile
blob: e31f31621d0d090e00658faac3d920447cda56b4 (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
BIN = dive

all: clean build

run: build
	./build/$(BIN) build -t dive-example:latest -f .data/Dockerfile.example .

run-ci: build
	CI=true ./build/$(BIN) dive-example:latest --ci-config .data/.dive-ci

run-large: build
	./build/$(BIN) amir20/clashleaders:latest

build:
	go build -o build/$(BIN)

release: test-coverage validate
	./.scripts/tag.sh
	goreleaser --rm-dist

install:
	go install ./...

ci: clean validate test-coverage

test: build
	go test -cover -v -race ./...

test-coverage: build
	./.scripts/test-coverage.sh

validate:
	grep -R 'const allowTestDataCapture = false' ui/
	go vet ./...
	@! gofmt -s -l . 2>&1 | grep -vE '^\.git/' | grep -vE '^\.cache/'
	golangci-lint run

lint: build
	golint -set_exit_status $$(go list ./...)

generate-test-data:
	docker build -t dive-test:latest -f .data/Dockerfile.test-image . && docker image save -o .data/test-docker-image.tar dive-test:latest && echo "Exported test data!"

clean:
	rm -rf build
	go clean

.PHONY: build install test lint clean release validate generate-test-data test-coverage ci