diff --git a/.gitignore b/.gitignore index 588e513..ed7b1de 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ _site .gh-pages -bin/ composer.lock composer.phar phpunit.xml diff --git a/bin/release.sh b/bin/release.sh new file mode 100755 index 0000000..72c9459 --- /dev/null +++ b/bin/release.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +TAG=$1 + +if [ -z $TAG ]; then + echo "Please specify a tag" + exit 1 +fi + +if [ -n "$(git status --porcelain)" ]; then + echo ". is not clean." >&2 + exit 1 +fi + +if [ ! -d .gh-pages ]; then + echo "Checking out gh-pages in .gh-pages" + git clone -b gh-pages git@git.maxmind.com:GeoIP2-php .gh-pages + cd .gh-pages +else + echo "Updating .ghpages" + cd .gh-pages + git pull +fi + +if [ -n "$(git status --porcelain)" ]; then + echo ".gh-pages is not clean" >&2 + exit 1 +fi + +cp ../README.md _includes/README.md +apigen --quiet --source ../src --destination doc/$TAG + +git add doc/ +git commit -m "Updated for $TAG" + +read -e -p "Push to origin? " SHOULD_PUSH + +if [ "$SHOULD_PUSH" != "y" ]; then + echo "Aborting" + exit 1 +fi + +git push +cd .. +git tag $TAG +git push +git push --tags