
COMMIT := $(shell git rev-parse --short HEAD)
IMG ?= $(REGISTRY)/audit-ng:$(COMMIT)

.PHONY: build docker-build docker-push run test clean

BIN_NAME=audit-ng
BUILD_DIR=bin

build:
	go build -o $(BUILD_DIR)/$(BIN_NAME) ./main.go

docker-build: build
	docker build -f Dockerfile -t ${IMG} .

docker-push:
	docker push ${IMG}

run:
	go run ./main.go

test:
	go test -v ./...

clean:
	rm -rf $(BUILD_DIR)

GOLANGCI_LINT = $(shell pwd)/bin/golangci-lint
GOLANGCI_LINT_VERSION ?= v2.11.4
golangci-lint:
	@[ -f $(GOLANGCI_LINT) ] || { \
	set -e ;\
	curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(shell dirname $(GOLANGCI_LINT)) $(GOLANGCI_LINT_VERSION) ;\
	}

.PHONY: lint
lint: golangci-lint
	$(GOLANGCI_LINT) run --timeout 5m

.PHONY: lint-fix
lint-fix: golangci-lint 
	$(GOLANGCI_LINT) run --fix
