RUBY-237 RUBY-238 Enforce semantic versioning

This commit is contained in:
Kyle Banker 2011-03-23 17:11:21 -04:00
parent 272d4835a7
commit 6d9c6bb06c
3 changed files with 35 additions and 1 deletions

View File

@ -10,6 +10,7 @@ This documentation includes other articles of interest, include:
4. [GridFS in Ruby](http://api.mongodb.org/ruby/current/file.GridFS.html).
5. [Frequently Asked Questions](http://api.mongodb.org/ruby/current/file.FAQ.html).
6. [History](http://api.mongodb.org/ruby/current/file.HISTORY.html).
6. [Release plan](http://api.mongodb.org/ruby/current/file.RELEASES.html).
7. [Credits](http://api.mongodb.org/ruby/current/file.CREDITS.html).
Here's a quick code sample. Again, see the [MongoDB Ruby Tutorial](http://api.mongodb.org/ruby/current/file.TUTORIAL.html)

View File

@ -146,7 +146,7 @@ task :ydoc do
require File.join(File.dirname(__FILE__), 'lib', 'mongo')
out = File.join('ydoc', Mongo::VERSION)
FileUtils.rm_rf('ydoc')
system "yardoc lib/**/*.rb lib/mongo/**/*.rb lib/bson/**/*.rb -e yard/yard_ext.rb -p yard/templates -o #{out} --title MongoRuby-#{Mongo::VERSION} --files docs/TUTORIAL.md,docs/GridFS.md,docs/FAQ.md,docs/REPLICA_SETS.md,docs/WRITE_CONCERN.md,docs/HISTORY.md,docs/CREDITS.md,docs/1.0_UPGRADE.md"
system "yardoc lib/**/*.rb lib/mongo/**/*.rb lib/bson/**/*.rb -e yard/yard_ext.rb -p yard/templates -o #{out} --title MongoRuby-#{Mongo::VERSION} --files docs/TUTORIAL.md,docs/GridFS.md,docs/FAQ.md,docs/REPLICA_SETS.md,docs/WRITE_CONCERN.md,docs/HISTORY.md,docs/CREDITS.md,docs/1.0_UPGRADE.md,docs/RELEASES.md"
end
namespace :bamboo do

33
docs/RELEASES.md Normal file
View File

@ -0,0 +1,33 @@
# MongoDB Ruby Driver Release Plan
This is a description of a formalized release plan that will take effect
with version 1.3.0.
## Semantic versioning
The most significant difference is that releases will now adhere to the conventions of
[semantic versioning](http://semver.org). In particular, we will strictly abide by the
following release rules:
1. Patch versions of the driver (Z in x.y.Z) will be released only when backward-compatible bug fixes are introduced. A bug fix is defined as an internal change that fixes incorrect behavior.
2. Minor versions (Y in x.Y.z) will be released if new, backward-compatible functionality is introduced to the public API.
3. Major versions (X in X.y.z) will be incremented if any backward-incompatibl changes are introduced to the public API.
This policy will clearly indicate to users when an upgrade may affect their code. As a side effect, version numbers will climb more quickly than before.
## Release checklist
Before each relese to Rubygems.org, the following steps will be taken:
1. All driver tests will be run on Linux, OS X, and Windows via continuous integration system.
2. HISTORY file will document all significant commits.
3. Version number will be incremented per the semantic version spec described above.
4. Appropriate branches and tags will be created in Git repository, as necessary.
5. Docs will be updated to the latest version of the driver and posted [online](http://api.mongodb.org/ruby/current/index.html).