dive/Makefile

71 lines
1.8 KiB
Makefile
Raw Normal View History

BIN = dive
BUILD_DIR = ./dist/dive_linux_amd64
BUILD_PATH = $(BUILD_DIR)/$(BIN)
PWD := ${CURDIR}
all: clean build
run: build
$(BUILD_PATH) build -t dive-example:latest -f .data/Dockerfile.example .
2018-12-30 20:07:56 +01:00
2018-11-01 05:08:20 +01:00
run-large: build
$(BUILD_PATH) amir20/clashleaders:latest
2018-11-01 05:08:20 +01:00
2019-10-08 16:06:14 +02:00
run-podman: build
2019-11-08 19:28:04 +01:00
$(BUILD_PATH) localhost/dive-example:latest --source podman
run-podman-build: build
2019-10-08 16:06:14 +02:00
podman build -t dive-example:latest -f .data/Dockerfile.example .
2019-11-08 19:28:04 +01:00
$(BUILD_PATH) localhost/dive-example:latest --source podman
2019-10-08 16:06:14 +02:00
run-podman-large: build
2019-11-08 19:28:04 +01:00
$(BUILD_PATH) docker.io/amir20/clashleaders:latest --source podman
2019-10-08 16:06:14 +02:00
run-ci: build
CI=true $(BUILD_PATH) dive-example:latest --ci-config .data/.dive-ci
build:
go build -o $(BUILD_PATH)
release: test-coverage validate
2018-10-17 04:56:35 +02:00
./.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
2018-12-30 20:07:56 +01:00
2018-11-30 23:17:15 +01:00
validate:
2019-10-13 17:42:13 +02:00
grep -R 'const allowTestDataCapture = false' runtime/ui/viewmodel
2018-11-30 23:17:15 +01:00
go vet ./...
@! gofmt -s -l . 2>&1 | grep -vE '^\.git/' | grep -vE '^\.cache/'
golangci-lint run
2018-11-30 23:17:15 +01:00
lint: build
golint -set_exit_status $$(go list ./...)
2018-12-30 20:07:56 +01:00
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!"
2019-10-08 16:18:34 +02:00
setup-ci:
sudo apt update && sudo apt install -y libgpgme-dev libbtrfs-dev libdevmapper-dev
2019-09-18 03:13:46 +02:00
go get ./...
curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b /go/bin v1.18.0
dev:
docker run -ti --rm -v $(PWD):/app -w /app -v dive-pkg:/go/pkg/ golang:1.13 bash
clean:
rm -rf dist
go clean
.PHONY: build install test lint clean release validate generate-test-data test-coverage ci dev