aboutsummaryrefslogtreecommitdiff
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
parent81051d9e2d5fa34552eccf25801d137b5486c804 (diff)
downloadsally-10d8a723b116b6ee54d57363c9eaebe9eaa71f4f.tar.gz
sally-10d8a723b116b6ee54d57363c9eaebe9eaa71f4f.tar.zst
sally-10d8a723b116b6ee54d57363c9eaebe9eaa71f4f.zip
Add dockerfiles and update makefile (#25)
-rw-r--r--.dockerignore1
-rw-r--r--.gitignore5
-rw-r--r--Dockerfile12
-rw-r--r--Dockerfile.sally6
-rw-r--r--Makefile90
-rw-r--r--glide.lock42
-rw-r--r--glide.yaml17
-rw-r--r--utils_test.go2
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
diff --git a/.gitignore b/.gitignore
index d670209..b2dab6a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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"]
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
diff --git a/glide.lock b/glide.lock
index 06301bd..6533f2b 100644
--- a/glide.lock
+++ b/glide.lock
@@ -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
diff --git a/glide.yaml b/glide.yaml
index 307ffa9..c30b37a 100644
--- a/glide.yaml
+++ b/glide.yaml
@@ -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())
}
}