github.com/versent/saml2aws@v2.17.0+incompatible/Makefile (about) 1 NAME=saml2aws 2 ARCH=$(shell uname -m) 3 VERSION=2.17.0 4 ITERATION := 1 5 6 SOURCE_FILES?=$$(go list ./... | grep -v /vendor/) 7 TEST_PATTERN?=. 8 TEST_OPTIONS?= 9 10 ci: deps test 11 12 deps: 13 go get github.com/buildkite/github-release 14 go get -u github.com/golang/dep/cmd/dep 15 go get -u github.com/mitchellh/gox 16 go get -u github.com/alecthomas/gometalinter 17 go get -u github.com/axw/gocov/... 18 go get -u golang.org/x/tools/cmd/cover 19 gometalinter --install 20 dep ensure 21 22 compile: 23 @rm -rf build/ 24 @gox -ldflags "-X main.Version=$(VERSION)" \ 25 -osarch="darwin/amd64" \ 26 -osarch="linux/i386" \ 27 -osarch="linux/amd64" \ 28 -osarch="windows/amd64" \ 29 -osarch="windows/i386" \ 30 -output "build/{{.Dir}}_$(VERSION)_{{.OS}}_{{.Arch}}/$(NAME)" \ 31 ${SOURCE_FILES} 32 33 # Run all the linters 34 lint: 35 gometalinter --vendor ./... 36 37 # gofmt and goimports all go files 38 fmt: 39 find . -name '*.go' -not -wholename './vendor/*' | while read -r file; do gofmt -w -s "$$file"; goimports -w "$$file"; done 40 41 install: 42 go install ./cmd/saml2aws 43 44 dist: 45 $(eval FILES := $(shell ls build)) 46 @rm -rf dist && mkdir dist 47 @for f in $(FILES); do \ 48 (cd $(shell pwd)/build/$$f && tar -cvzf ../../dist/$$f.tar.gz *); \ 49 (cd $(shell pwd)/dist && shasum -a 512 $$f.tar.gz > $$f.sha512); \ 50 echo $$f; \ 51 done 52 53 release: 54 @github-release "v$(VERSION)" dist/* --commit "$(git rev-parse HEAD)" --github-repository versent/$(NAME) 55 56 test: 57 @gocov test $(SOURCE_FILES) | gocov report 58 59 clean: 60 @rm -fr ./build 61 62 packages: 63 rm -rf package && mkdir package 64 rm -rf stage && mkdir -p stage/usr/bin 65 cp build/saml2aws_*_linux_amd64/saml2aws stage/usr/bin 66 fpm --name $(NAME) -a x86_64 -t rpm -s dir --version $(VERSION) --iteration $(ITERATION) -C stage -p package/$(NAME)-$(VERSION)_$(ITERATION).rpm usr 67 fpm --name $(NAME) -a x86_64 -t deb -s dir --version $(VERSION) --iteration $(ITERATION) -C stage -p package/$(NAME)-$(VERSION)_$(ITERATION).deb usr 68 shasum -a 512 package/$(NAME)-$(VERSION)_$(ITERATION).rpm > package/$(NAME)-$(VERSION)_$(ITERATION).rpm.sha512 69 shasum -a 512 package/$(NAME)-$(VERSION)_$(ITERATION).deb > package/$(NAME)-$(VERSION)_$(ITERATION).deb.sha512 70 71 generate-mocks: 72 mockery -dir pkg/prompter --all 73 74 .PHONY: default deps compile lint fmt dist release test clean generate-mocks