1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/RELEASE.md
Paul Thornthwaite 28d6e219f3 [core] Breaks down rake tasks
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.
2013-01-07 20:32:27 +00:00

1.3 KiB

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
  • 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.