pulumi/Makefile
joeduffy 717609a31b Fail the build on lint warnings
Golint by default doesn't return a non-zero exit code when lint errors
are present.  To address this, we need to pass -set_exit_status.

But it gets more complicated: because we are suppressing some lint
warnings, we cannot use -set_exit_status in the lint_quiet target.
For that, we use test -z to fail if any output passes the filter.

Eventually when we do pulumi/lumi#191, we can remove this hack.
2017-06-02 09:05:28 -07:00

48 lines
1.2 KiB
Makefile

.PHONY: banner build install lint lint_quiet test vet
PROJECT=github.com/pulumi/lumi
PROJECT_PKGS=$(shell go list ./... | grep -v /vendor/)
CORE_PROJECT_PKGS=$(shell go list ./cmd/... ./pkg/...)
PROCCNT=$(shell nproc --all)
default: banner test lint_quiet vet install
banner:
@go version
build:
@echo "\033[0;32mBUILD:\033[0m"
@go build ${PROJECT}/cmd/lumi
@go build ${PROJECT}/cmd/lumidl
install:
@echo "\033[0;32mINSTALL:\033[0m"
@go install ${PROJECT}/cmd/lumi
@go install ${PROJECT}/cmd/lumidl
lint:
@echo "\033[0;32mLINT:\033[0m"
@golint -set_exit_status cmd/...
@golint -set_exit_status pkg/...
lint_quiet:
@echo "\033[0;32mLINT (quiet):\033[0m"
@echo "`golint cmd/... | grep -v "or be unexported"`"
@echo "`golint pkg/... | grep -v "or be unexported"`"
test -z "$$(golint cmd/... | grep -v 'or be unexported')"
test -z "$$(golint pkg/... | grep -v 'or be unexported')"
@echo "\033[0;33mgolint was run quietly; to run with noisy errors, run 'make lint'\033[0m"
test:
@echo "\033[0;32mTEST:\033[0m"
@go test -parallel ${PROCCNT} -cover ${PROJECT_PKGS}
test_core:
@echo "\033[0;32mTEST (core):\033[0m"
@go test -parallel ${PROCCNT} -cover ${CORE_PROJECT_PKGS}
vet:
@echo "\033[0;32mVET:\033[0m"
@go tool vet -printf=false cmd/ lib/ pkg/