|
1 | 1 | SHELL=/bin/bash -eo pipefail |
2 | 2 |
|
3 | | -release_major: |
| 3 | +release-major: |
4 | 4 | $(eval export TAG=$(shell git describe --tags --match 'v*.*.*' | perl -ne '/^v(\d+)\.(\d+)\.(\d+)/; print "v@{[$$1+1]}.0.0"')) |
5 | 5 | $(MAKE) release |
6 | 6 |
|
7 | | -release_minor: |
| 7 | +release-minor: |
8 | 8 | $(eval export TAG=$(shell git describe --tags --match 'v*.*.*' | perl -ne '/^v(\d+)\.(\d+)\.(\d+)/; print "v$$1.@{[$$2+1]}.0"')) |
9 | 9 | $(MAKE) release |
10 | 10 |
|
11 | | -release_patch: |
| 11 | +release-patch: |
12 | 12 | $(eval export TAG=$(shell git describe --tags --match 'v*.*.*' | perl -ne '/^v(\d+)\.(\d+)\.(\d+)/; print "v$$1.$$2.@{[$$3+1]}"')) |
13 | 13 | $(MAKE) release |
14 | 14 |
|
15 | 15 | release: |
16 | | - @if [[ -z $$TAG ]]; then echo "Use release_{major,minor,patch}"; exit 1; fi |
| 16 | + @if ! git diff --cached --exit-code; then echo "Commit staged files before proceeding"; exit 1; fi |
| 17 | + @if [[ -z $$TAG ]]; then echo "Use release-{major,minor,patch}"; exit 1; fi |
17 | 18 | @if ! type -P pandoc; then echo "Please install pandoc"; exit 1; fi |
18 | 19 | @if ! type -P sponge; then echo "Please install moreutils"; exit 1; fi |
19 | 20 | @if ! type -P http; then echo "Please install httpie"; exit 1; fi |
@@ -41,10 +42,21 @@ release: |
41 | 42 | $(MAKE) install |
42 | 43 | http --check-status --auth ${GH_AUTH} POST ${UPLOADS_API}/$$(http --auth ${GH_AUTH} ${RELEASES_API}/latest | jq .id)/assets \ |
43 | 44 | name==$$(basename dist/*.whl) label=="Python Wheel" < dist/*.whl |
44 | | - $(MAKE) pypi_release |
| 45 | + $(MAKE) release-pypi |
| 46 | + $(MAKE) release-docs |
45 | 47 |
|
46 | | -pypi_release: |
| 48 | +release-pypi: |
47 | 49 | python setup.py sdist bdist_wheel |
48 | 50 | twine upload dist/*.tar.gz dist/*.whl --sign --verbose |
49 | 51 |
|
| 52 | +release-docs: |
| 53 | + $(MAKE) docs |
| 54 | + -git branch -D gh-pages |
| 55 | + git checkout -B gh-pages-stage |
| 56 | + touch docs/html/.nojekyll |
| 57 | + git add --force docs/html |
| 58 | + git commit -m "Docs for ${TAG}" |
| 59 | + git push --force origin $$(git subtree split --prefix docs/html --branch gh-pages):refs/heads/gh-pages |
| 60 | + git checkout - |
| 61 | + |
50 | 62 | .PHONY: release |
0 commit comments