2019-01-04 13:58:30 +03:00
i n c l u d e . e n v
BINARY := oauth2_proxy
2019-02-08 13:10:52 +03:00
VERSION := $( shell git describe --always --dirty --tags 2>/dev/null || echo "undefined" )
2019-01-07 19:41:11 +03:00
.NOTPARALLEL :
2019-01-04 13:58:30 +03:00
.PHONY : all
all : dep lint $( BINARY )
.PHONY : clean
clean :
rm -rf release
rm -f $( BINARY)
.PHONY : distclean
distclean : clean
rm -rf vendor
.PHONY : lint
2019-06-03 10:25:48 +03:00
lint :
2019-06-23 22:40:59 +03:00
$( GOLANGCILINT) run
2019-01-04 13:58:30 +03:00
.PHONY : dep
dep :
$( DEP) ensure --vendor-only
.PHONY : build
build : clean $( BINARY )
$(BINARY) :
2019-01-21 20:49:41 +03:00
CGO_ENABLED = 0 $( GO) build -a -installsuffix cgo -ldflags= " -X main.VERSION= ${ VERSION } " -o $@ github.com/pusher/oauth2_proxy
2019-01-04 13:58:30 +03:00
2019-02-02 02:08:19 +03:00
.PHONY : docker
docker :
2019-02-08 13:05:57 +03:00
docker build -f Dockerfile -t quay.io/pusher/oauth2_proxy:latest .
2019-02-02 02:08:19 +03:00
.PHONY : docker -all
2019-02-02 04:20:20 +03:00
docker-all : docker
2019-02-08 13:05:57 +03:00
docker build -f Dockerfile -t quay.io/pusher/oauth2_proxy:latest-amd64 .
docker build -f Dockerfile -t quay.io/pusher/oauth2_proxy:${ VERSION } .
docker build -f Dockerfile -t quay.io/pusher/oauth2_proxy:${ VERSION } -amd64 .
docker build -f Dockerfile.arm64 -t quay.io/pusher/oauth2_proxy:latest-arm64 .
docker build -f Dockerfile.arm64 -t quay.io/pusher/oauth2_proxy:${ VERSION } -arm64 .
docker build -f Dockerfile.armv6 -t quay.io/pusher/oauth2_proxy:latest-armv6 .
docker build -f Dockerfile.armv6 -t quay.io/pusher/oauth2_proxy:${ VERSION } -armv6 .
.PHONY : docker -push
docker-push :
docker push quay.io/pusher/oauth2_proxy:latest
.PHONY : docker -push -all
docker-push-all : docker -push
docker push quay.io/pusher/oauth2_proxy:latest-amd64
docker push quay.io/pusher/oauth2_proxy:${ VERSION }
docker push quay.io/pusher/oauth2_proxy:${ VERSION } -amd64
docker push quay.io/pusher/oauth2_proxy:latest-arm64
docker push quay.io/pusher/oauth2_proxy:${ VERSION } -arm64
docker push quay.io/pusher/oauth2_proxy:latest-armv6
docker push quay.io/pusher/oauth2_proxy:${ VERSION } -armv6
2019-02-02 02:08:19 +03:00
2019-01-04 13:58:30 +03:00
.PHONY : test
test : dep lint
2019-05-07 12:35:30 +03:00
$( GO) test -v -race ./...
2019-01-04 13:58:30 +03:00
.PHONY : release
2019-01-07 19:41:11 +03:00
release : lint test
2019-01-04 13:58:30 +03:00
mkdir release
2019-05-31 11:24:45 +03:00
mkdir release/$( BINARY) -$( VERSION) .darwin-amd64.$( GO_VERSION)
mkdir release/$( BINARY) -$( VERSION) .linux-amd64.$( GO_VERSION)
mkdir release/$( BINARY) -$( VERSION) .linux-arm64.$( GO_VERSION)
mkdir release/$( BINARY) -$( VERSION) .linux-armv6.$( GO_VERSION)
mkdir release/$( BINARY) -$( VERSION) .windows-amd64.$( GO_VERSION)
GOOS = darwin GOARCH = amd64 go build -ldflags= " -X main.VERSION= ${ VERSION } " \
-o release/$( BINARY) -$( VERSION) .darwin-amd64.$( GO_VERSION) /$( BINARY) github.com/pusher/oauth2_proxy
GOOS = linux GOARCH = amd64 go build -ldflags= " -X main.VERSION= ${ VERSION } " \
-o release/$( BINARY) -$( VERSION) .linux-amd64.$( GO_VERSION) /$( BINARY) github.com/pusher/oauth2_proxy
GOOS = linux GOARCH = arm64 go build -ldflags= " -X main.VERSION= ${ VERSION } " \
-o release/$( BINARY) -$( VERSION) .linux-arm64.$( GO_VERSION) /$( BINARY) github.com/pusher/oauth2_proxy
GOOS = linux GOARCH = arm GOARM = 6 go build -ldflags= " -X main.VERSION= ${ VERSION } " \
-o release/$( BINARY) -$( VERSION) .linux-armv6.$( GO_VERSION) /$( BINARY) github.com/pusher/oauth2_proxy
GOOS = windows GOARCH = amd64 go build -ldflags= " -X main.VERSION= ${ VERSION } " \
-o release/$( BINARY) -$( VERSION) .windows-amd64.$( GO_VERSION) /$( BINARY) github.com/pusher/oauth2_proxy
shasum -a 256 release/$( BINARY) -$( VERSION) .darwin-amd64.$( GO_VERSION) /$( BINARY) > release/$( BINARY) -$( VERSION) .darwin-amd64-sha256sum.txt
shasum -a 256 release/$( BINARY) -$( VERSION) .linux-amd64.$( GO_VERSION) /$( BINARY) > release/$( BINARY) -$( VERSION) .linux-amd64-sha256sum.txt
shasum -a 256 release/$( BINARY) -$( VERSION) .linux-arm64.$( GO_VERSION) /$( BINARY) > release/$( BINARY) -$( VERSION) .linux-arm64-sha256sum.txt
shasum -a 256 release/$( BINARY) -$( VERSION) .linux-armv6.$( GO_VERSION) /$( BINARY) > release/$( BINARY) -$( VERSION) .linux-armv6-sha256sum.txt
shasum -a 256 release/$( BINARY) -$( VERSION) .windows-amd64.$( GO_VERSION) /$( BINARY) > release/$( BINARY) -$( VERSION) .windows-amd64-sha256sum.txt
tar -C release -czvf release/$( BINARY) -$( VERSION) .darwin-amd64.$( GO_VERSION) .tar.gz $( BINARY) -$( VERSION) .darwin-amd64.$( GO_VERSION)
tar -C release -czvf release/$( BINARY) -$( VERSION) .linux-amd64.$( GO_VERSION) .tar.gz $( BINARY) -$( VERSION) .linux-amd64.$( GO_VERSION)
tar -C release -czvf release/$( BINARY) -$( VERSION) .linux-arm64.$( GO_VERSION) .tar.gz $( BINARY) -$( VERSION) .linux-arm64.$( GO_VERSION)
tar -C release -czvf release/$( BINARY) -$( VERSION) .linux-armv6.$( GO_VERSION) .tar.gz $( BINARY) -$( VERSION) .linux-armv6.$( GO_VERSION)
tar -C release -czvf release/$( BINARY) -$( VERSION) .windows-amd64.$( GO_VERSION) .tar.gz $( BINARY) -$( VERSION) .windows-amd64.$( GO_VERSION)