Build Master: Scheduling

Tyro[17] ridimz at yahoo.com
Wed Nov 13 16:37:40 PST 2013


Greetings,

I have accepted the responsibility of preparing the builds for DMD and 
would like to engage in conversation about the way ahead.

The first concern I have is about the build cycle. Presently, it is 
nonexistent. There is no rhyme or reason regarding when releases are 
produced. The v2.065 agenda (first attempt of its kind) suggests that 
the next release will occur sometime in March 2014. I'm of the opinion, 
however, that the cycle should be six months long. This particular 
schedule is not of my own crafting but I believe it to be sound and 
worthy of emulation:

Schedule
--------

2.064 --- 2.064.1 --- 2.064.2 -- ...
   \
    + -- 2.065beta1 --- 2.065beta2 --- ... --- 2.065rc1 --- 2.065 --- 
2.065.1 --- ...
                                                             \
                                                               + -- 
2.066beta1 --- ...

Starting from the date of a major release (November 5th):

At four-week intervals we make a new beta release. There will be no 
separate release candidate, but if a serious problem is discovered we 
may do the next beta ahead of schedule or make a point release. There 
will be about five or six releases in that series.

In parallel with this, bugs targeted to the previous major release are 
merged into its branch. We will make bugfix releases from that branch as 
appropriate to the accumulation of changes, perhaps monthly, perhaps 
more often if there are serious bugs, perhaps much less often if no new 
changes have landed.

We will then make a release candidate for the next major release, and at 
this point create a release branch for it. We will iterate release 
candidates at approximately weekly intervals until there are no bugs 
blocking the final major release.

Major releases (2.0)
     The big ones, every six months, intended to ship in distributions 
and to be used by stability-oriented users.

Release Candidates (2.065rc1)
     Created one to two weeks before the release branch is created, this 
is a preview of the major release. There should be very few, if any 
changes from the release candidate to the major release.
Bugfix releases (2.064.1)
     Based on the previous major release or bugfix; contains only 
bugfixes and perhaps documentation corrections.

Beta release (2.065beta1)
     Created monthly from master, except for those months in which we 
create a major release. Stable and suitable for users who want the 
latest code and can live with changes from month to month.

Your thoughts and concerns please.

-- 

Andrew Edwards
--------------------
http://www.akeron.co
auto getAddress() {
     string location = "@", period = ".";
     return ("info" ~ location ~ "afidem" ~ period ~ "org");
}


More information about the Digitalmars-d mailing list