diff options
-rw-r--r-- | .dockerignore | 1 | ||||
-rw-r--r-- | .gitignore | 5 | ||||
-rw-r--r-- | Dockerfile | 12 | ||||
-rw-r--r-- | Dockerfile.sally | 6 | ||||
-rw-r--r-- | Makefile | 90 | ||||
-rw-r--r-- | glide.lock | 42 | ||||
-rw-r--r-- | glide.yaml | 17 | ||||
-rw-r--r-- | utils_test.go | 2 |
8 files changed, 149 insertions, 26 deletions
diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..22d0d82 --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +vendor @@ -1,3 +1,2 @@ -vendor/ -out/ -sally +vendor +_tmp diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..3f3065d --- /dev/null +++ b/Dockerfile @@ -0,0 +1,12 @@ +FROM golang:1.7.4 + +EXPOSE 8080 +RUN \ + curl -fsSLO https://get.docker.com/builds/Linux/x86_64/docker-latest.tgz && \ + tar --strip-components=1 -xvzf docker-latest.tgz -C /usr/local/bin +RUN mkdir -p /go/src/go.uber.org/sally +WORKDIR /go/src/go.uber.org/sally +ADD glide.yaml glide.lock /go/src/go.uber.org/sally/ +RUN go get -v github.com/Masterminds/glide && glide install +ADD . /go/src/go.uber.org/sally/ +CMD ["make", "run"] diff --git a/Dockerfile.sally b/Dockerfile.sally new file mode 100644 index 0000000..f78f304 --- /dev/null +++ b/Dockerfile.sally @@ -0,0 +1,6 @@ +FROM scratch + +EXPOSE 8080 +ADD sally.yaml / +ADD _tmp/sally / +ENTRYPOINT ["/sally"] @@ -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 @@ -1,27 +1,49 @@ -hash: 8f67008e0ad384b7bab0cf30ee7b6926b7145c5be7e95b6be35163930eb7f7e6 -updated: 2016-10-12T10:19:26.528895463-07:00 +hash: 3d2dd61fbbbb3bcac1d8a9705f3490cf3d7ccc31147ec01662b78a81881ca5a2 +updated: 2017-01-26T13:58:37.214672796+01:00 imports: +- name: github.com/julienschmidt/httprouter + version: 8c199fb6259ffc1af525cc3ad52ee60ba8359669 +- name: gopkg.in/yaml.v2 + version: a83829b6f1293c91addabc89d0571c246397bbf4 +testImports: - name: github.com/davecgh/go-spew - version: 6d212800a42e8ab5c146b8ace3490ee17e5225f9 + version: 04cdfd42973bb9c8589fd6a731800cf222fde1a9 subpackages: - spew -- name: github.com/julienschmidt/httprouter - version: 8c199fb6259ffc1af525cc3ad52ee60ba8359669 +- name: github.com/golang/lint + version: 3390df4df2787994aea98de825b964ac7944b817 + subpackages: + - golint +- name: github.com/kisielk/errcheck + version: db0ca22445717d1b2c51ac1034440e0a2a2de645 +- name: github.com/kisielk/gotool + version: 0de1eaf82fa3f583ce21fde859f1e7e0c5e9b220 - name: github.com/pmezard/go-difflib version: d8ed2627bdf02c080bf22230dbb337003b7aba2d subpackages: - difflib - name: github.com/stretchr/testify - version: 69483b4bd14f5845b5a1e55bca19e954e827f1d0 + version: 18a02ba4a312f95da08ff4cfc0055750ce50ae9e subpackages: - assert - name: github.com/yosssi/gohtml version: ccf383eafddde21dfe37c6191343813822b30e6b - name: golang.org/x/net - version: 8058fc7b18f8794d9fc57eee98d64fe2c750e3f1 + version: 3b993948b6f0e651ffb58ba135d8538a68b1cddf subpackages: - html - html/atom -- name: gopkg.in/yaml.v2 - version: 31c299268d302dd0aa9a0dcf765a3d58971ac83f -testImports: [] +- name: golang.org/x/tools + version: 0db92ca630c08f00e3ba4b5abea93836ca04b42e + subpackages: + - go/gcimporter15 +- name: honnef.co/go/lint + version: 8807103a5c828099e06f52d70faa05575d24869f + subpackages: + - lintutil +- name: honnef.co/go/ssa + version: 1cf7f34afde4f3f9cb9f7b15f8f2727ebcaa179a +- name: honnef.co/go/staticcheck + version: b48330f1ed0dd7463407767da164e7f3ee43ad76 + subpackages: + - cmd/staticcheck @@ -1,4 +1,4 @@ -package: github.com/uber-go/sally +package: go.uber.org/sally import: - package: gopkg.in/yaml.v2 - package: github.com/julienschmidt/httprouter @@ -6,3 +6,18 @@ import: testImport: - package: github.com/stretchr/testify - package: github.com/yosssi/gohtml +- package: github.com/golang/lint + subpackages: + - golint +- package: golang.org/x/tools + subpackages: + - go/gcimporter15 +- package: github.com/kisielk/errcheck +- package: github.com/kisielk/gotool +- package: honnef.co/go/staticcheck + subpackages: + - cmd/staticcheck +- package: honnef.co/go/lint + subpackages: + - lintutil +- package: honnef.co/go/ssa diff --git a/utils_test.go b/utils_test.go index 3894e28..d5a4f89 100644 --- a/utils_test.go +++ b/utils_test.go @@ -27,7 +27,7 @@ func TempFile(t *testing.T, contents string) (path string, clean func()) { } return tmpfile.Name(), func() { - os.Remove(tmpfile.Name()) + _ = os.Remove(tmpfile.Name()) } } |