git.iko.soy/typeable/oauth2-proxy
on 3155ada help sign in
101 lines 4.6 kB history raw
1include .env
2BINARY := oauth2_proxy
3VERSION := $(shell git describe --always --dirty --tags 2>/dev/null || echo "undefined")
4.NOTPARALLEL:
6.PHONY: all
7all: dep lint $(BINARY)
9.PHONY: clean
10clean:
11 rm -rf release
12 rm -f $(BINARY)
14.PHONY: distclean
15distclean: clean
16 rm -rf vendor
18.PHONY: lint
19lint:
20 $(GOMETALINTER) --vendor --disable-all \
21 --enable=vet \
22 --enable=vetshadow \
23 --enable=golint \
24 --enable=ineffassign \
25 --enable=goconst \
26 --enable=deadcode \
27 --enable=gofmt \
28 --enable=goimports \
29 --deadline=120s \
30 --tests ./...
32.PHONY: dep
33dep:
34 $(DEP) ensure --vendor-only
36.PHONY: build
37build: clean $(BINARY)
39$(BINARY):
40 CGO_ENABLED=0 $(GO) build -a -installsuffix cgo -ldflags="-X main.VERSION=${VERSION}" -o $@ github.com/pusher/oauth2_proxy
42.PHONY: docker
43docker:
44 docker build -f Dockerfile -t quay.io/pusher/oauth2_proxy:latest .
46.PHONY: docker-all
47docker-all: docker
48 docker build -f Dockerfile -t quay.io/pusher/oauth2_proxy:latest-amd64 .
49 docker build -f Dockerfile -t quay.io/pusher/oauth2_proxy:${VERSION} .
50 docker build -f Dockerfile -t quay.io/pusher/oauth2_proxy:${VERSION}-amd64 .
51 docker build -f Dockerfile.arm64 -t quay.io/pusher/oauth2_proxy:latest-arm64 .
52 docker build -f Dockerfile.arm64 -t quay.io/pusher/oauth2_proxy:${VERSION}-arm64 .
53 docker build -f Dockerfile.armv6 -t quay.io/pusher/oauth2_proxy:latest-armv6 .
54 docker build -f Dockerfile.armv6 -t quay.io/pusher/oauth2_proxy:${VERSION}-armv6 .
56.PHONY: docker-push
57docker-push:
58 docker push quay.io/pusher/oauth2_proxy:latest
60.PHONY: docker-push-all
61docker-push-all: docker-push
62 docker push quay.io/pusher/oauth2_proxy:latest-amd64
63 docker push quay.io/pusher/oauth2_proxy:${VERSION}
64 docker push quay.io/pusher/oauth2_proxy:${VERSION}-amd64
65 docker push quay.io/pusher/oauth2_proxy:latest-arm64
66 docker push quay.io/pusher/oauth2_proxy:${VERSION}-arm64
67 docker push quay.io/pusher/oauth2_proxy:latest-armv6
68 docker push quay.io/pusher/oauth2_proxy:${VERSION}-armv6
70.PHONY: test
71test: dep lint
72 $(GO) test -v -race ./...
74.PHONY: release
75release: lint test
76 mkdir release
77 mkdir release/$(BINARY)-$(VERSION).darwin-amd64.$(GO_VERSION)
78 mkdir release/$(BINARY)-$(VERSION).linux-amd64.$(GO_VERSION)
79 mkdir release/$(BINARY)-$(VERSION).linux-arm64.$(GO_VERSION)
80 mkdir release/$(BINARY)-$(VERSION).linux-armv6.$(GO_VERSION)
81 mkdir release/$(BINARY)-$(VERSION).windows-amd64.$(GO_VERSION)
82 GOOS=darwin GOARCH=amd64 go build -ldflags="-X main.VERSION=${VERSION}" \
83 -o release/$(BINARY)-$(VERSION).darwin-amd64.$(GO_VERSION)/$(BINARY) github.com/pusher/oauth2_proxy
84 GOOS=linux GOARCH=amd64 go build -ldflags="-X main.VERSION=${VERSION}" \
85 -o release/$(BINARY)-$(VERSION).linux-amd64.$(GO_VERSION)/$(BINARY) github.com/pusher/oauth2_proxy
86 GOOS=linux GOARCH=arm64 go build -ldflags="-X main.VERSION=${VERSION}" \
87 -o release/$(BINARY)-$(VERSION).linux-arm64.$(GO_VERSION)/$(BINARY) github.com/pusher/oauth2_proxy
88 GOOS=linux GOARCH=arm GOARM=6 go build -ldflags="-X main.VERSION=${VERSION}" \
89 -o release/$(BINARY)-$(VERSION).linux-armv6.$(GO_VERSION)/$(BINARY) github.com/pusher/oauth2_proxy
90 GOOS=windows GOARCH=amd64 go build -ldflags="-X main.VERSION=${VERSION}" \
91 -o release/$(BINARY)-$(VERSION).windows-amd64.$(GO_VERSION)/$(BINARY) github.com/pusher/oauth2_proxy
92 shasum -a 256 release/$(BINARY)-$(VERSION).darwin-amd64.$(GO_VERSION)/$(BINARY) > release/$(BINARY)-$(VERSION).darwin-amd64-sha256sum.txt
93 shasum -a 256 release/$(BINARY)-$(VERSION).linux-amd64.$(GO_VERSION)/$(BINARY) > release/$(BINARY)-$(VERSION).linux-amd64-sha256sum.txt
94 shasum -a 256 release/$(BINARY)-$(VERSION).linux-arm64.$(GO_VERSION)/$(BINARY) > release/$(BINARY)-$(VERSION).linux-arm64-sha256sum.txt
95 shasum -a 256 release/$(BINARY)-$(VERSION).linux-armv6.$(GO_VERSION)/$(BINARY) > release/$(BINARY)-$(VERSION).linux-armv6-sha256sum.txt
96 shasum -a 256 release/$(BINARY)-$(VERSION).windows-amd64.$(GO_VERSION)/$(BINARY) > release/$(BINARY)-$(VERSION).windows-amd64-sha256sum.txt
97 tar -C release -czvf release/$(BINARY)-$(VERSION).darwin-amd64.$(GO_VERSION).tar.gz $(BINARY)-$(VERSION).darwin-amd64.$(GO_VERSION)
98 tar -C release -czvf release/$(BINARY)-$(VERSION).linux-amd64.$(GO_VERSION).tar.gz $(BINARY)-$(VERSION).linux-amd64.$(GO_VERSION)
99 tar -C release -czvf release/$(BINARY)-$(VERSION).linux-arm64.$(GO_VERSION).tar.gz $(BINARY)-$(VERSION).linux-arm64.$(GO_VERSION)
100 tar -C release -czvf release/$(BINARY)-$(VERSION).linux-armv6.$(GO_VERSION).tar.gz $(BINARY)-$(VERSION).linux-armv6.$(GO_VERSION)
101 tar -C release -czvf release/$(BINARY)-$(VERSION).windows-amd64.$(GO_VERSION).tar.gz $(BINARY)-$(VERSION).windows-amd64.$(GO_VERSION)