2016-02-21 16:13:08 -08:00
all : push
2016-11-10 19:56:29 -03:00
BUILDTAGS =
2016-12-11 09:14:53 -08:00
# Use the 0.0 tag for testing, it shouldn't clobber any release builds
2017-05-26 15:10:07 -04:00
RELEASE ?= 0.9.0-beta.7
2016-11-10 19:56:29 -03:00
PREFIX ?= gcr.io/google_containers/nginx-ingress-controller
GOOS ?= linux
2017-02-02 02:22:44 -08:00
DOCKER ?= gcloud docker --
2016-02-21 16:13:08 -08:00
2016-04-06 11:46:06 -03:00
REPO_INFO = $( shell git config --get remote.origin.url)
2016-11-10 19:56:29 -03:00
i f n d e f C O M M I T
COMMIT := git-$( shell git rev-parse --short HEAD)
2016-04-06 11:46:06 -03:00
e n d i f
2016-11-10 19:56:29 -03:00
PKG = k8s.io/ingress/controllers/nginx
build : clean
CGO_ENABLED = 0 GOOS = ${ GOOS } go build -a -installsuffix cgo \
-ldflags " -s -w -X ${ PKG } /pkg/version.RELEASE= ${ RELEASE } -X ${ PKG } /pkg/version.COMMIT= ${ COMMIT } -X ${ PKG } /pkg/version.REPO= ${ REPO_INFO } " \
-o rootfs/nginx-ingress-controller ${ PKG } /pkg/cmd/controller
2017-03-14 14:49:21 -07:00
container : build
2017-02-02 02:22:44 -08:00
$( DOCKER) build --pull -t $( PREFIX) :$( RELEASE) rootfs
2016-11-10 19:56:29 -03:00
2017-01-30 12:11:38 -08:00
push : container
2017-02-02 02:22:44 -08:00
$( DOCKER) push $( PREFIX) :$( RELEASE)
2016-11-10 19:56:29 -03:00
fmt :
@echo " + $@ "
@go list -f '{{if len .TestGoFiles}}"gofmt -s -l {{.Dir}}"{{end}}' $( shell go list ${ PKG } /... | grep -v vendor) | xargs -L 1 sh -c
lint :
@echo " + $@ "
@go list -f '{{if len .TestGoFiles}}"golint {{.Dir}}/..."{{end}}' $( shell go list ${ PKG } /... | grep -v vendor) | xargs -L 1 sh -c
test : fmt lint vet
@echo " + $@ "
@go test -v -race -tags " $( BUILDTAGS) cgo " $( shell go list ${ PKG } /... | grep -v vendor)
2016-02-21 16:13:08 -08:00
2016-11-10 19:56:29 -03:00
cover :
@echo " + $@ "
@go list -f '{{if len .TestGoFiles}}"go test -coverprofile={{.Dir}}/.coverprofile {{.ImportPath}}"{{end}}' $( shell go list ${ PKG } /... | grep -v vendor) | xargs -L 1 sh -c
gover
goveralls -coverprofile= gover.coverprofile -service travis-ci -repotoken ${ COVERALLS_TOKEN }
2016-02-21 16:13:08 -08:00
2016-11-10 19:56:29 -03:00
vet :
@echo " + $@ "
@go vet $( shell go list ${ PKG } /... | grep -v vendor)
2016-02-21 16:13:08 -08:00
clean :
2017-03-14 14:49:21 -07:00
rm -f rootfs/nginx-ingress-controller