Skip to content

Commit

Permalink
Adds additional release tooling
Browse files Browse the repository at this point in the history
  • Loading branch information
c4milo committed Nov 17, 2015
1 parent 4de6a41 commit d6245ab
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 0 deletions.
10 changes: 10 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
GHACCOUNT := hooklift
NAME := iso9660
VERSION := v1.0.0

include common.mk

deps:
go get github.com/c4milo/github-release
go get github.com/mitchellh/gox
go get github.com/docopt/docopt-go
43 changes: 43 additions & 0 deletions common.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
PLATFORM := $(shell go env | grep GOHOSTOS | cut -d '"' -f 2)
ARCH := $(shell go env | grep GOARCH | cut -d '"' -f 2)
BRANCH := $(shell git rev-parse --abbrev-ref HEAD)
LDFLAGS := -ldflags "-X main.Version=$(VERSION) -X main.Name=$(NAME)"

test:
go test ./...

build:
go build -o build/$(NAME) $(LDFLAGS) cmd/$(NAME)/main.go

install:
go install $(LDFLAGS)

compile:
@rm -rf build/
@gox $(LDFLAGS) \
-os="darwin" \
-os="linux" \
-os="solaris" \
-os="freebsd" \
-os="windows" \
-output "build/$(NAME)_$(VERSION)_{{.OS}}_{{.Arch}}/$(NAME)" \
./...

dist: compile
$(eval FILES := $(shell ls build))
@rm -rf dist && mkdir dist
@for f in $(FILES); do \
(cd $(shell pwd)/build/$$f && tar -cvzf ../../dist/$$f.tar.gz *); \
(cd $(shell pwd)/dist && shasum -a 512 $$f.tar.gz > $$f.sha512); \
echo $$f; \
done

release: dist
@latest_tag=$$(git describe --tags `git rev-list --tags --max-count=1`); \
comparison="$$latest_tag..HEAD"; \
if [ -z "$$latest_tag" ]; then comparison=""; fi; \
changelog=$$(git log $$comparison --oneline --no-merges --reverse); \
github-release $(GHACCOUNT)/$(NAME) $(VERSION) $(BRANCH) "**Changelog**<br/>$$changelog" 'dist/*'; \
git pull

.PHONY: test build install compile deps dist release

0 comments on commit d6245ab

Please sign in to comment.