mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
28d6e219f3
While documenting our release process, we can see some things that don't need to be locked together are. This splits release into prepare/publish parts Now anyone can prepare a release but will not be able to publish that release without the correct access to Github and Rubygems. Adds a preflight task and adds a check for existing tags to that.
39 lines
1.3 KiB
Markdown
39 lines
1.3 KiB
Markdown
# Release process
|
|
|
|
This is fog's current release process, documented so people know what is
|
|
currently done.
|
|
|
|
## Versioning
|
|
|
|
fog uses semantic versioning (http://semver.org/)
|
|
|
|
## When we release
|
|
|
|
Releases occur monthly and are manually handled by fog's Benevolent
|
|
Dictator Wes (@geemus).
|
|
|
|
To request a new release please raise an issue.
|
|
|
|
## Prepare the release
|
|
|
|
* Ensure the code is passing on the CI server [![Build Status](https://secure.travis-ci.org/fog/fog.png?branch=master)](http://travis-ci.org/fog/fog)
|
|
* Ensure the code is passing for live tests (Requires Credentials for all
|
|
services)
|
|
* Ensure working on **master**
|
|
* Update the version number (`lib/fog/version.rb`)
|
|
* Run `rake changelog` to update `changelog.txt`
|
|
* Run `rake release` to prepare the release which does:
|
|
* Prepares the release (`rake release:prepare`)
|
|
* Builds the gem
|
|
* Tags the commit
|
|
* Creates commits for version
|
|
* Publishes the release (`rake release:publish`)
|
|
* Pushes commit and tag to Github (Requires Credentials)
|
|
* Pushes gem to Rubygems (Requires Credentials)
|
|
|
|
## Announce the release
|
|
|
|
Once the release is prepared and uploaded it needs to be announced.
|
|
|
|
* Send an email to https://groups.google.com/forum/?fromgroups#!forum/ruby-fog
|
|
* Tweet as @fog on Twitter (Requires Credentials)
|