X.org release engineering?
Jeremy C. Reed
reed at reedmedia.net
Mon Jun 8 10:24:37 PDT 2009
Where are the release engineering schedule, policies, and steps
documented?
Note: I have done at least three "official" X.org component releases (at
least three different modules). ("Official" is defined as: I increased
number for release version, did tests, tagged in git, created tarballs,
maybe uploaded tarballs?, created checksums, and PGP email to announce on
xorg-announce.)
(I am writing about release engineering processes. If you'd like to help
document release engineering processes specifically for X.org or different
project or generically, please let me know.)
The "testing plan" at http://www.x.org/wiki/XorgTesting is out of date. It
is about monolithic "make world". It doesn't define testing plan for
modular X.org components. The TestGroup and XorgTesting wikipages talk
about emailing list before code changes and reporting test results. I
don't see either of this.
The RepoPolicy says "Write access to other branches is controlled by the
branch owner. The release manager is the owner of the release branch."
Who are the branch owners? Who are the release mamagers? Where is this
documented? How are they assigned or how do they volunteer?
ReleaseWorkingGroup mentions a 6 months cycle. I assumed that is for X.org
as a whole and not for invidual components. Nevertheless I don't see any
6 month cycle for X.org or xorg-server.
That wiki page also points to a list URL for "proposed schedule." but the
URL appears to be an unrelated archived list email.
The ReleaseHOWTO wikipage doesn't appear to go into detail for specific
module release engineering scheduling and coordination for the xorg-server
and X.org as a whole.
Some of the wiki has deadends -- links that go to "This page does not
exist yet." and many wiki pages are "redirected".
So maybe the wiki does have the release engineering schedule, policies,
and steps documented, but they aren't followed, adequately explained, are
disjointed (steps not organized or linked from same place), are very
out-of-date and not applicable, or I just simply can't find them (missing
links?).
Basically I am looking for documented X.org details for release
engineering for individiual components/modules/packages, xorg-server,
X.org as a whole:
- who is responsible? who helps?
- release dates and/or deciding when to release
- release schedule (locking tree, locking APIs/ABIs, builds and tests,
merging fixes, etc.)
- regression testing and quality control. Required tests before and during
release.
- X.org specific source code control: naming policies for "releases", etc.
- required communication with end-users and outside packagers/vendors
- triaging bug tickets for release engineering planning/scheduling
- version numbering policies, alphas? betas? release candidates?
- library version numbering policies
- distribution of test builds and final releases
- documentation policies required by release engineering
- security and how it pushes or overrides normal release schedule
- and since X.org is very modular and broad: communication about backwards
incompatible API and ABI changes and the effects on X.org, xorg-server,
and the various components.
- what has the elected board discussed for improving or changing the
release engineering processes and scheduling?
(I know this is just a simple overview and each of these have many
details.)
Jeremy C. Reed
p.s. While I am pointing out problems, I don't want this thread to target
anyone. My goal is to be proactive and get the release engineering
policies defined (if needed) and well documented here.
More information about the xorg
mailing list