Release snapshot creation Q&A.
Michael Stone
michael at laptop.org
Wed Sep 17 15:18:59 EDT 2008
On IRC today, Greg asked me several questions. My responses are inline:
* How do we know when are ready to build a release snapshot?
Immediately after we publish a new release snapshot, I enter my
'waiting' state. In this waiting state, I wait for test results and
for new tickets to enter the 'release queue' [1]:
The 'release queue' is my mental device for tracking changes which
are probably going released. It is most visible in trac in the form
of the 'approve for release' and 'add to release' actions though it
is slighly more inclusive because I tend to start watching tickets
before they are ready to request approval.
Tickets enter the release queue in two ways: when a coder notifies
me or one of my delegates (presently Scott, Marco, and Chris) that
they expect to have a qualified [2] change in the near future or
when I or one of my delegates notices a change which can be easily
qualified and which, in our judgement, is appropriate for release
(e.g. polish, small correctness fixes, debugging aids, etc.).
Each day, I ask myself whether we have accumulated enough changes to
enter the 'preparing' state. This judgement is based on what changes
have been qualified, on what changes I expect to qualify in the next
few days, on how long it has been since the last snapshot, and on the
test results that I find on devel@ and in daily triage.
Eventually, I decide that I'm ready to produce a new snapshot and we
transition to the 'preparing state', at which time the build team
(mostly Scott, a minor contributions by me) collects all the qualified
changes and incorporates them into the build instructions for the
release stream. This means doing things like committing packages into
the build repositories, updating the the release ChangeLog,
cherry-picking any needed pilgrim patches, and finally, reviewing the
collected changes to the build instructions against our record of the
intended changes.
When preparation is complete, a build engineer triggers the build and
we move to the 'announcing' stage.
In the announcing stage, I update the wiki instructions for testing
the new snapshot and generally draft an email to devel@, sugar@,
testing@, and support-gang@ explaining what to do with (and look for
in) the new snapshot.
[1]: http://wiki.laptop.org/go/Plan_of_Record-2008
[2]: http://wiki.laptop.org/go/Trac_ticket_workflow#Approval_for_Release
* When we will build the next release snapshot?
This week, probably Thursday or Friday. (Understand that, each week,
the optimization problems gets harder for lots of interesting
reasons.)
* How we can buttress our communications about release snapshots?
First, by keeping your release-manager undistracted and focused on
releasing rather than by asking him to multitask with development and
packaging work.
Second, by offering other suggestions on how communication could be
improved beyond my existing wiki, forum, mail, and whiteboard
mechanisms.
Regards,
Michael
More information about the Devel
mailing list