added son-emu project website
[osm/vim-emu.git] / docs / _site / script / release
diff --git a/docs/_site/script/release b/docs/_site/script/release
new file mode 100755 (executable)
index 0000000..fb400aa
--- /dev/null
@@ -0,0 +1,42 @@
+#!/bin/sh
+# Tag and push a release.
+
+set -e
+
+# Make sure we're in the project root.
+
+cd $(dirname "$0")/..
+
+# Make sure the darn thing works
+
+bundle update
+
+# Build a new gem archive.
+
+rm -rf jekyll-theme-cayman-*.gem
+gem build -q jekyll-theme-cayman.gemspec
+
+# Make sure we're on the master branch.
+
+(git branch | grep -q 'master') || {
+  echo "Only release from the master branch."
+  exit 1
+}
+
+# Figure out what version we're releasing.
+
+tag=v`ls jekyll-theme-cayman-*.gem | sed 's/^jekyll-theme-cayman-\(.*\)\.gem$/\1/'`
+
+# Make sure we haven't released this version before.
+
+git fetch -t origin
+
+(git tag -l | grep -q "$tag") && {
+  echo "Whoops, there's already a '${tag}' tag."
+  exit 1
+}
+
+# Tag it and bag it.
+
+gem push jekyll-theme-cayman-*.gem && git tag "$tag" &&
+  git push origin master && git push origin "$tag"