Skip to content

Commit d409672

Browse files
committed
some release automation via make, need more
1 parent 00f321e commit d409672

File tree

2 files changed

+68
-0
lines changed

2 files changed

+68
-0
lines changed

Makefile

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
GH_PAGES_SOURCES = planet docs Makefile
2+
3+
check:
4+
py.test
5+
flake8 planet tests
6+
7+
pex:
8+
pex . -o dist/planet -m planet.scripts:cli
9+
10+
html-docs:
11+
$(MAKE) -C docs clean html
12+
13+
docs-zip: html-docs
14+
cp -a docs/build/html planet-docs
15+
zip -m -r dist/planet-docs.zip planet-docs
16+
17+
gh-docs:
18+
git checkout gh-pages
19+
rm -rf *
20+
git checkout master $(GH_PAGES_SOURCES)
21+
git reset HEAD
22+
make html-docs
23+
mv -fv docs/build/html/* ./
24+
rm -rf $(GH_PAGES_SOURCES)
25+
git add -A
26+
git commit -m "gh-pages for `git log master -1 --oneline"
27+
28+
release:
29+
@[ $(TAG) ] || exit 1
30+
@[ $(BODY) ] || exit 1
31+
@sed -i -e "s/__version__ =.*/__version__ = '$(TAG)'/" planet/__init__.py
32+
git --no-pager diff
33+
@echo 'About to tag/release $(TAG)'
34+
@echo -n 'Does the above diff look right (Y/N)? :'
35+
@read PROCEED
36+
@[ $PROCEED != 'Y' ] && exit 0
37+
@echo 'OK!'
38+
git commit -m "release version $(TAG)" .
39+
git push origin
40+
make DRAFT=false release-gh
41+
42+
release-gh: check pex docs-zip
43+
TAG="$(TAG)" BODY="$(BODY)" DRAFT="$(DRAFT)" ./gh-release
44+

gh-release

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#!/bin/bash
2+
3+
: ${TAG:?'Provide TAG'}
4+
DRAFT=${DRAFT:=true}
5+
BODY="${BODY:=$TAG}"
6+
REQUEST=$(printf '{"tag_name": "v%s","draft": %s, "name": "%s", "body": "%s"}' $TAG $DRAFT $TAG "$BODY")
7+
URL="https://api.github.com/repos/planetlabs/planet-client-python/releases"
8+
9+
echo 'Creating release with request:'
10+
echo $REQUEST
11+
echo -n 'Looking good? (Y/N) :'
12+
read CREATE
13+
[ $CREATE != "Y" ] && exit 0
14+
15+
echo 'creating release in github'
16+
RELEASE=$(curl -n -XPOST --data "${REQUEST}" "${URL}")
17+
RELEASE_ID=$(echo $RELEASE | jq .id)
18+
RELEASE_URL=$(echo $RELEASE | jq -r .upload_url)
19+
RELEASE_URL=${RELEASE_URL/\{?name\}/?}
20+
echo 'uploading binary to' ${RELEASE_URL}
21+
curl -H 'Content-Type: application/zip' -n -XPOST --data-binary @dist/planet ${RELEASE_URL}name=planet
22+
echo 'uploading docs to' ${RELEASE_URL}
23+
curl -H 'Content-Type: application/zip' -n -XPOST --data-binary @dist/planet-docs.zip ${RELEASE_URL}name=planet
24+
echo "created ${TAG}, draft=${DRAFT}"

0 commit comments

Comments
 (0)