diff --git a/build/git.sh b/build/git.sh new file mode 100644 index 0000000..464114b --- /dev/null +++ b/build/git.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +# Check current branch +if test "master" != "$(git symbolic-ref --short HEAD)"; then + echo 'Not on `master` branch.' >&2; + exit 128; +fi + + +# Check local working tree +if test -n "$(git status --porcelain)"; then + echo 'Unclean working tree. Commit or stash changes first.' >&2; + exit 128; +fi + +# Check remote history +if test "0" != "$(git rev-list --count --left-only @'{u}'...HEAD)"; then + echo 'Remote history differ. Please pull changes.' >&2; + exit 128; +fi diff --git a/package.json b/package.json index bd49025..625d42a 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "version": "conventional-changelog -p angular -i CHANGELOG.md -s && git add CHANGELOG.md", "test:push": "jest --coverage --coverageReporters=text-lcov | coveralls", "test": "jest", - "release": "bash build/release.sh" + "release": "bash build/git.sh && bash build/release.sh" }, "repository": { "type": "git",