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