docs/mk/release.mk

47 lines
1.3 KiB
Makefile

release-checksum:
$(foreach MACHINE_FILE, $(wildcard $(PREFIX)/bin/*.zip), \
$(shell openssl dgst -sha256 < "$(MACHINE_FILE)" > "$(MACHINE_FILE).sha256" && \
openssl dgst -md5 < "$(MACHINE_FILE)" > "$(MACHINE_FILE).md5" \
))
@:
release-pack:
find ./bin -type d -mindepth 1 -exec zip -r -j {}.zip {} \;
release: clean dco fmt test test-long build-x release-pack release-checksum
# Github infos
GH_USER ?= $(shell git config --get remote.origin.url | sed -e 's/.*[:/]\(.*\)\/\([^.]*\)\(.*\)/\1/')
GH_REPO ?= $(shell git config --get remote.origin.url | sed -e 's/.*[:/]\(.*\)\/\([^.]*\)\(.*\)/\2/')
$(if $(GITHUB_TOKEN), , \
$(error GITHUB_TOKEN must be set for github-release))
$(eval VERSION=$(filter-out $@,$(MAKECMDGOALS)))
$(if $(VERSION), , \
$(error Pass the version number as the first arg. E.g.: make release 1.2.3))
git tag $(VERSION)
git push --tags
github-release release
--user $(GH_USER) \
--repo $(GH_REPO) \
--tag $(VERSION) \
--name $(VERSION) \
--description "" \
--pre-release
$(foreach MACHINE_FILE, $(wildcard $(PREFIX)/bin/*.zip), \
$(shell github-release upload \
--user $(GH_USER) \
--repo $(GH_REPO) \
--tag $(VERSION) \
--name $(MACHINE_FILE) \
--file $(MACHINE_FILE) \
) \
)
%:
@: