diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..ecd79c4 --- /dev/null +++ b/Makefile @@ -0,0 +1,31 @@ +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} \ No newline at end of file