I was trying to learn about Ruby's release process. I noticed that we don't create a release branch until the final version is shipped. Is there a reason we don't create the release branch when the first preview is shipped? The reason I'm asking is because I'm worried about merging things to master after the first preview. Do we have any documentation on the release process? (I was searching and couldn't find much info, but maybe I didn't search correctly)
In recent years, we released the final version of new release from master branch directly. Because creating the release branch before the final release is hard work to backport for release manager.
tenderlovemaking (Aaron Patterson) wrote in #note-3:
So is RC the point when we create a branch? I guess I'm just not clear on when release branches get made.
The trend for the past few years has been to branch on the day of the official release, i.e., 25th Dec. This is based on the experience that if we branch in advance, we need a lot of backporting. Therefore, it is supposed that we do not commit too drastic changes in December. Unfortunately, this is implicit knowledge and there is no documentation.
Based on the experience of Ruby's release manager burning out, naruse-san prioritizes saving any labor in the release management.
Do you mean when the first RC is shipped?
Previews can be early in the dev cycle and don't prevent new features being added after AFAIK.
So is RC the point when we create a branch? I guess I'm just not clear on when release branches get made.
As far as I understand, every year is a bit different. It depends on the
release manager's time and on how much surprises are suspected (somewhat
of a contradiction, but I hope you get the point).