#!/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"