31 lines
784 B
Makefile
31 lines
784 B
Makefile
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}
|