github.com/resonatecoop/id@v1.1.0-43/Makefile (about) 1 .PHONY: fmt lint golint test test-with-coverage ci 2 # TODO: When Go 1.9 is released vendor folder should be ignored automatically 3 PACKAGES=`go list ./... | grep -v vendor | grep -v mocks` 4 5 fmt: 6 for pkg in ${PACKAGES}; do \ 7 go fmt $$pkg; \ 8 done; 9 10 lint: 11 gometalinter --tests --disable-all --deadline=120s -E vet -E gofmt -E misspell -E ineffassign -E goimports -E deadcode ./... 12 13 golint: 14 for pkg in ${PACKAGES}; do \ 15 golint $$pkg; \ 16 done; 17 18 test: 19 TEST_FAILED= ; \ 20 for pkg in ${PACKAGES}; do \ 21 go test $$pkg || TEST_FAILED=1; \ 22 done; \ 23 [ -z "$$TEST_FAILED" ] 24 25 test-with-coverage: 26 echo "" > coverage.out 27 echo "mode: set" > coverage-all.out 28 TEST_FAILED= ; \ 29 for pkg in ${PACKAGES}; do \ 30 go test -coverprofile=coverage.out -covermode=set $$pkg || TEST_FAILED=1; \ 31 tail -n +2 coverage.out >> coverage-all.out; \ 32 done; \ 33 [ -z "$$TEST_FAILED" ] 34 #go tool cover -html=coverage-all.out 35 36 ci: 37 bash -c 'docker-compose -f docker-compose.test.yml -p go_oauth2_server_ci up --build --abort-on-container-exit --exit-code-from sut'