ready for release!
[dygraphs.git] / release.sh
CommitLineData
806e1ea5
DV
1#!/bin/bash
2# This script "releases" a version of dygraphs.
3
4if [ $# -ne 1 ]; then
5 echo "Usage: $0 X.Y.Z" >&2
6 exit 1
7fi
8
9VERSION=$1
10echo $VERSION | egrep '\d+\.\d+\.\d+' > /dev/null
11if [ $? -ne 0 ]; then
12 echo "Version must be of the form 1.2.3 (got '$VERSION')" >&2
13 exit 1
14fi
15
16# Make sure this is being run from a release branch with the correct name.
17branch=$(git rev-parse --abbrev-ref HEAD)
18if [ $branch != "release-$VERSION" ]; then
19 echo "Must be on a branch named 'release-$VERSION' (found '$branch')" >&2
20 exit 1
21fi
22
23# Push a permanent copy of documentation & generated files to a versioned copy
24# of the site. This is where the downloadable files are generated.
25# TODO(danvk): make sure this actually generates the downloadable files!
26echo "Pushing docs and generated files to dygraphs.com/$VERSION"
27./push-to-web.sh dygraphs.com:dygraphs.com/$VERSION
28if [ $? -ne 0 ]; then
29 echo "Push to web failed" >&2
30 exit 1
31fi
32
33# Everything is good. Tag this release and push it.
34COMMIT=$(git rev-parse HEAD)
35echo "Tagging commit $COMMIT as version $VERSION"
36git tag -m "Release of version $VERSION"
37git push
38
39echo "Release was successful!"
40echo "Don't forget to merge changes on this branch back into master."