NAME    := k9s
PACKAGE := github.com/derailed/$(NAME)
GIT     := $(shell git rev-parse --short HEAD)
SOURCE_DATE_EPOCH ?= $(shell date +%s)
DATE    := $(shell date -u -d @${SOURCE_DATE_EPOCH} +%FT%T%Z)
VERSION  ?= v0.17.5
IMG_NAME := derailed/k9s
IMAGE    := ${IMG_NAME}:${VERSION}

default: help

test:      ## Run all tests
	@go clean --testcache && go test ./...


cover:     ## Run test coverage suite
	@go test ./... --coverprofile=cov.out
	@go tool cover --html=cov.out

build:     ## Builds the CLI
	@go build \
	-ldflags "-w -X ${PACKAGE}/cmd.version=${VERSION} -X ${PACKAGE}/cmd.commit=${GIT} -X ${PACKAGE}/cmd.date=${DATE}" \
	-a -tags netgo -o execs/${NAME} main.go

img:  ## Build Docker Image
	@docker build --rm -t ${IMAGE} .

help:
	@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":[^:]*?## "}; {printf "\033[38;5;69m%-30s\033[38;5;38m %s\033[0m\n", $$1, $$2}'
