github.com/pusher/oauth2_proxy@v3.2.0+incompatible/Makefile (about) 1 include .env 2 BINARY := oauth2_proxy 3 VERSION := $(shell git describe --always --dirty --tags 2>/dev/null || echo "undefined") 4 .NOTPARALLEL: 5 6 .PHONY: all 7 all: dep lint $(BINARY) 8 9 .PHONY: clean 10 clean: 11 rm -rf release 12 rm -f $(BINARY) 13 14 .PHONY: distclean 15 distclean: clean 16 rm -rf vendor 17 18 BIN_DIR := $(GOPATH)/bin 19 GOMETALINTER := $(BIN_DIR)/gometalinter 20 21 $(GOMETALINTER): 22 $(GO) get -u github.com/alecthomas/gometalinter 23 gometalinter --install %> /dev/null 24 25 .PHONY: lint 26 lint: $(GOMETALINTER) 27 $(GOMETALINTER) --vendor --disable-all \ 28 --enable=vet \ 29 --enable=vetshadow \ 30 --enable=golint \ 31 --enable=ineffassign \ 32 --enable=goconst \ 33 --enable=deadcode \ 34 --enable=gofmt \ 35 --enable=goimports \ 36 --tests ./... 37 38 .PHONY: dep 39 dep: 40 $(DEP) ensure --vendor-only 41 42 .PHONY: build 43 build: clean $(BINARY) 44 45 $(BINARY): 46 CGO_ENABLED=0 $(GO) build -a -installsuffix cgo -ldflags="-X main.VERSION=${VERSION}" -o $@ github.com/pusher/oauth2_proxy 47 48 .PHONY: docker 49 docker: 50 docker build -f Dockerfile -t quay.io/pusher/oauth2_proxy:latest . 51 52 .PHONY: docker-all 53 docker-all: docker 54 docker build -f Dockerfile -t quay.io/pusher/oauth2_proxy:latest-amd64 . 55 docker build -f Dockerfile -t quay.io/pusher/oauth2_proxy:${VERSION} . 56 docker build -f Dockerfile -t quay.io/pusher/oauth2_proxy:${VERSION}-amd64 . 57 docker build -f Dockerfile.arm64 -t quay.io/pusher/oauth2_proxy:latest-arm64 . 58 docker build -f Dockerfile.arm64 -t quay.io/pusher/oauth2_proxy:${VERSION}-arm64 . 59 docker build -f Dockerfile.armv6 -t quay.io/pusher/oauth2_proxy:latest-armv6 . 60 docker build -f Dockerfile.armv6 -t quay.io/pusher/oauth2_proxy:${VERSION}-armv6 . 61 62 .PHONY: docker-push 63 docker-push: 64 docker push quay.io/pusher/oauth2_proxy:latest 65 66 .PHONY: docker-push-all 67 docker-push-all: docker-push 68 docker push quay.io/pusher/oauth2_proxy:latest-amd64 69 docker push quay.io/pusher/oauth2_proxy:${VERSION} 70 docker push quay.io/pusher/oauth2_proxy:${VERSION}-amd64 71 docker push quay.io/pusher/oauth2_proxy:latest-arm64 72 docker push quay.io/pusher/oauth2_proxy:${VERSION}-arm64 73 docker push quay.io/pusher/oauth2_proxy:latest-armv6 74 docker push quay.io/pusher/oauth2_proxy:${VERSION}-armv6 75 76 .PHONY: test 77 test: dep lint 78 $(GO) test -v -race $(go list ./... | grep -v /vendor/) 79 80 .PHONY: release 81 release: lint test 82 mkdir release 83 GOOS=darwin GOARCH=amd64 go build -ldflags="-X main.VERSION=${VERSION}" -o release/$(BINARY)-darwin-amd64 github.com/pusher/oauth2_proxy 84 GOOS=linux GOARCH=amd64 go build -ldflags="-X main.VERSION=${VERSION}" -o release/$(BINARY)-linux-amd64 github.com/pusher/oauth2_proxy 85 GOOS=linux GOARCH=arm64 go build -ldflags="-X main.VERSION=${VERSION}" -o release/$(BINARY)-linux-arm64 github.com/pusher/oauth2_proxy 86 GOOS=linux GOARCH=arm GOARM=6 go build -ldflags="-X main.VERSION=${VERSION}" -o release/$(BINARY)-linux-armv6 github.com/pusher/oauth2_proxy 87 GOOS=windows GOARCH=amd64 go build -ldflags="-X main.VERSION=${VERSION}" -o release/$(BINARY)-windows-amd64 github.com/pusher/oauth2_proxy 88 shasum -a 256 release/$(BINARY)-darwin-amd64 > release/$(BINARY)-darwin-amd64-sha256sum.txt 89 shasum -a 256 release/$(BINARY)-linux-amd64 > release/$(BINARY)-linux-amd64-sha256sum.txt 90 shasum -a 256 release/$(BINARY)-linux-arm64 > release/$(BINARY)-linux-arm64-sha256sum.txt 91 shasum -a 256 release/$(BINARY)-linux-armv6 > release/$(BINARY)-linux-armv6-sha256sum.txt 92 shasum -a 256 release/$(BINARY)-windows-amd64 > release/$(BINARY)-windows-amd64-sha256sum.txt 93 tar -czvf release/$(BINARY)-$(VERSION).darwin-amd64.$(GO_VERSION).tar.gz release/$(BINARY)-darwin-amd64 94 tar -czvf release/$(BINARY)-$(VERSION).linux-amd64.$(GO_VERSION).tar.gz release/$(BINARY)-linux-amd64 95 tar -czvf release/$(BINARY)-$(VERSION).linux-arm64.$(GO_VERSION).tar.gz release/$(BINARY)-linux-arm64 96 tar -czvf release/$(BINARY)-$(VERSION).linux-armv6.$(GO_VERSION).tar.gz release/$(BINARY)-linux-armv6 97 tar -czvf release/$(BINARY)-$(VERSION).windows-amd64.$(GO_VERSION).tar.gz release/$(BINARY)-windows-amd64