COVERAGE_DIR=coverage BINARY_DIR=bin BINARY_NAME=ess-etl-go UNAME := $(shell uname -s) ifeq ($(UNAME),Darwin) OS = macos else ifeq ($(UNAME),Linux) OS = linux else $(error OS not supported by this Makefile) endif PACKAGE = $(shell head -1 go.mod | awk '{print $$2}') lint: golangci-lint run ./... goreportcard: goreportcard-cli -v test: go test ./... test-coverage: rm -rf ${COVERAGE_DIR} mkdir ${COVERAGE_DIR} go test -v -coverprofile ${COVERAGE_DIR}/cover.out ./... go tool cover -html ${COVERAGE_DIR}/cover.out -o ${COVERAGE_DIR}/cover.html benchmark: go test -run none -bench . -benchtime 3s -benchmem build_server: env GOOS=linux CGO_ENABLED=0 GOARCH=amd64 go build -o ${BINARY_DIR}/${BINARY_NAME} ./main.go run_server: build_server ./${BINARY_DIR}/${BINARY_NAME}