Every 4 weeks we will be releasing an RC1 (Release Candidate 1) of all
of our open source products, so long as at least one commit was made
to that project during the last 4 weeks.
Today you'll be seeing Puppet, Facter and Dashboard RC1s.
Once an RC1 has been released, we will only fix bugs introduced since
the last release in further RCs.
Once an RC has survived without being replaced for 7 days, and we
haven't been informed of any RC-introduced isues, we will release the
Final Release for that release.
I'm going to walk through a hypothetical scenario that might make that
a bit more concrete for you all.
Mar 16 - Puppet 2.6.7 RC1 released
Mar 17 - Samantha Sysadmin discovers issue #1337 that was introduced
since Puppet 2.6.6
Mar 18 - Puppet 2.6.7 RC2 released, addresses #1337
Mar 21 - Olga Operator discovers issue #1339 that was introduced since
Puppet 2.6.6
Mar 22 - Puppet 2.6.7 RC3 released, addresses #1339
Mar 29 - No further RC-introduced issues known, Puppet 2.6.7 released,
as it's been 7 days since Mar 22.
The obvious question now is, what happens if we keep finding more and
more RC-introduced issues, and the 7-day rule means that we end up
encroaching upon the time for the *next* release?
Basically 21 days after the RC1 is released, we make a decision
whether we abandon the previous RC-series, or the next one.
We're referring to this as Release Candidate Thunderdome.
"Two releases enter, one release leaves."
We are going to be publishing this all on the wiki, but I wanted to
iterate a bit on any questions you all have before that.
This also doesn't address the timing of releases such as 2.7.0, 2.8.0,
etc. That will be coming in a later email.
--
Nigel Kersten
Product, Puppet Labs
@nigelkersten