From 678d28be74458e62a760492dd05050ef06e683e2 Mon Sep 17 00:00:00 2001 From: Aaron Jacobs Date: Fri, 7 Aug 2015 12:40:33 +1000 Subject: [PATCH] Added a first shot at release instructions, for #106. --- docs/releasing.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 docs/releasing.md diff --git a/docs/releasing.md b/docs/releasing.md new file mode 100644 index 0000000000..157b4cd2f9 --- /dev/null +++ b/docs/releasing.md @@ -0,0 +1,32 @@ +Building a gcsfuse release: + +1. Note the current commit that `master` points to. Call it `123abcd`. + +2. Use a viewer like [gitx](http://rowanj.github.io/gitx/) to examine the + changes between the previous release and `123abcd`. Write up release notes. + +3. Choose a new version number according to the rules of [semantic + versioning][semver]. Call it `v1.2.3`. + +4. Run `git tag -a v1.2.3`. Put the release notes in the tag, formatting + according to the standard set by [previous tags][tags]. + +5. Push the tag with `git push origin v1.2.3`. + +6. On a CentOS VM (where `rpm-build` is available), build Linux and OS X + release binaries and packages: + + mkdir -p ~/tmp/release + go build github.com/googlecloudplatform/gcsfuse/tools/build_release + ./build_release --version 1.2.3 --commit 123abcd --os linux --output_dir ~/tmp/release --rpm + ./build_release --version 1.2.3 --commit 123abcd --os darwin --output_dir ~/tmp/release + +7. [Create a new release][new-release] on GitHub. Paste in the release notes + and update the contents of `~/tmp/release` from the previous step. + +8. Find and replace in `docs/installing.md` to reference the new version + number. For example: `%s/1\.2\.2/1.2.3/gc` + +[semver]: http://semver.org/ +[tags]: https://github.com/GoogleCloudPlatform/gcsfuse/tags +[new-release]: https://github.com/GoogleCloudPlatform/gcsfuse/releases/new