Skip to content

Commit

Permalink
Teach github-pages how to release
Browse files Browse the repository at this point in the history
  • Loading branch information
jbarnette committed Aug 8, 2013
1 parent 31a1f32 commit dedc404
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 8 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ Alternatively, you can add the following to your project's Gemfile:

To update to the latest version of Jekyll and associated dependencies, simply run `gem update github-pages`, or if you've installed via Bundler, `bundle update github-pages`.

## Building
## Releasing

To build a new version of the gem, run `script/build`
To release a new version of this gem, run `script/release` from the `master` branch.

## License

Expand Down
6 changes: 0 additions & 6 deletions script/build

This file was deleted.

38 changes: 38 additions & 0 deletions script/release
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#!/bin/sh
# Tag and push a release.

set -e

# Make sure we're in the project root.

cd $(dirname "$0")/..

# Build a new gem archive.

rm -rf github-pages-*.gem
gem build -q github-pages.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 github-pages-*.gem | sed 's/^github-pages-\(.*\)\.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 github-pages-*.gem && git tag "$tag" &&
git push origin master && git push origin "$tag"

0 comments on commit dedc404

Please sign in to comment.