blob: dc1116a6d61030ef6ab360ea64f1d6b894418c8e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
GOX_OSARCH ?= "darwin/amd64 linux/amd64 linux/arm freebsd/386 freebsd/amd64 linux/386 windows/386"
GOX_OUTPUT_DIR ?= bin
GH_ACCESS_TOKEN ?= Missing access token.
MESSAGE ?= Latest release.
all: build
build: clean
@mkdir -p $(GOX_OUTPUT_DIR) && \
gox -osarch=$(GOX_OSARCH) -output "$(GOX_OUTPUT_DIR)/{{.Dir}}_{{.OS}}_{{.Arch}}" && \
gzip bin/vanity_darwin_* && \
gzip bin/vanity_freebsd_* && \
gzip bin/vanity_linux_* && \
zip -r bin/vanity_windows_386.zip bin/vanity_windows_386.exe
require-version:
@if [[ -z "$$VERSION" ]]; then echo "Missing \$$VERSION"; exit 1; fi
release: build require-version
@RESP=$$(curl --silent --data '{ \
"tag_name": "v$(VERSION)", \
"name": "v$(VERSION)", \
"body": "$(MESSAGE)", \
"target_commitish": "$(git rev-parse --abbrev-ref HEAD)", \
"draft": false, \
"prerelease": false \
}' "https://api.github.com/repos/xiam/vanity/releases?access_token=$(GH_ACCESS_TOKEN)") && \
\
UPLOAD_URL_TEMPLATE=$$(echo $$RESP | python -mjson.tool | grep upload_url | awk '{print $$2}' | sed s/,$$//g | sed s/'"'//g) && \
if [[ -z "$$UPLOAD_URL_TEMPLATE" ]]; then echo $$RESP; exit 1; fi && \
\
for ASSET in $$(ls -1 bin/); do \
UPLOAD_URL=$$(echo $$UPLOAD_URL_TEMPLATE | sed s/"{?name,label}"/"?access_token=$(GH_ACCESS_TOKEN)\&name=$$ASSET"/g) && \
MIME_TYPE=$$(file --mime-type bin/$$ASSET | awk '{print $$2}') && \
curl --silent -H "Content-Type: $$MIME_TYPE" --data-binary @bin/$$ASSET $$UPLOAD_URL > /dev/null && \
echo "-> $$ASSET OK." \
; done
clean:
@rm -rf $(GOX_OUTPUT_DIR)
docker:
docker build -t xiam/vanity .
|