aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorGravatar Peter Edge <peter.edge@gmail.com> 2017-01-26 20:32:21 +0100
committerGravatar Grayson Koonce <grayson.koonce@gmail.com> 2017-01-26 11:32:21 -0800
commit10d8a723b116b6ee54d57363c9eaebe9eaa71f4f (patch)
tree2ecdcfc6756df49eadf79709b313bd0c0542184b /Makefile
parent81051d9e2d5fa34552eccf25801d137b5486c804 (diff)
downloadsally-10d8a723b116b6ee54d57363c9eaebe9eaa71f4f.tar.gz
sally-10d8a723b116b6ee54d57363c9eaebe9eaa71f4f.tar.zst
sally-10d8a723b116b6ee54d57363c9eaebe9eaa71f4f.zip
Add dockerfiles and update makefile (#25)
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile90
1 files changed, 79 insertions, 11 deletions
diff --git a/Makefile b/Makefile
index d26439a..a6e06a0 100644
--- a/Makefile
+++ b/Makefile
@@ -1,22 +1,90 @@
-PACKAGES := $(shell glide novendor)
+PKGS := $(shell go list ./... | grep -v go.uber.org/sally/vendor)
+SRCS := $(wildcard *.go)
-.PHONY: install
-install:
- glide --version || go get github.com/Masterminds/glide
+.PHONY: all
+all: test
+
+.PHONY: vendor-update
+vendor-update:
+ go get -v github.com/Masterminds/glide
+ glide update
+
+.PHONY: vendor-install
+vendor-install:
+ go get -v github.com/Masterminds/glide
glide install
+.PHONY: build
+build:
+ go build $(PKGS)
+
+.PHONY: install
+install:
+ go install $(PKGS)
.PHONY: lint
lint:
- go vet $(PACKAGES)
- $(foreach pkg, $(PACKAGES), golint $(pkg) &&) echo "success"
+ go install ./vendor/github.com/golang/lint/golint
+ for file in $(SRCS); do \
+ golint $$file; \
+ if [ -n "$$(golint $$file)" ]; then \
+ exit 1; \
+ fi; \
+ done
+
+.PHONY: vet
+vet:
+ go vet $(PKGS)
+
+.PHONY: errcheck
+errcheck:
+ go install ./vendor/github.com/kisielk/errcheck
+ errcheck $(PKGS)
+.PHONY: staticcheck
+staticcheck:
+ go install ./vendor/honnef.co/go/staticcheck/cmd/staticcheck
+ staticcheck $(PKGS)
+
+.PHONY: pretest
+pretest: lint vet errcheck staticcheck
.PHONY: test
-test: lint
- go test -race $(PACKAGES)
+test: pretest
+ go test -race $(PKGS)
+
+.PHONY: clean
+clean:
+ go clean -i $(PKGS)
+ rm -rf _tmp
+
+.PHONY: docker-build-dev
+docker-build-dev:
+ docker build -t uber/sally-dev .
+
+.PHONY: docker-test
+docker-test: docker-build-dev
+ docker run uber/sally-dev make test
+.PHONY: docker-build-internal
+docker-build-internal:
+ rm -rf _tmp
+ mkdir -p _tmp
+ CGO_ENABLED=0 go build -a -installsuffix cgo -o _tmp/sally $(SRCS)
+ docker build -t uber/sally -f Dockerfile.sally .
-.PHONY: run
-run:
- go build -i && ./sally
+.PHONY: docker-build
+docker-build: docker-build-dev
+ docker run -v /var/run/docker.sock:/var/run/docker.sock uber/sally-dev make docker-build-internal
+
+.PHONY: docker-launch-dev
+docker-launch-dev: docker-build-dev
+ docker run -p 8080:8080 uber/sally-dev
+
+.PHONY: docker-launch
+docker-launch: docker-build
+ docker run -p 8080:8080 uber/sally
+
+.PHONY: install
+run: install
+ sally