LLVM Release Criteria


I'd like to clarify a few points on how the release process works.

Each release must satisfy the following criteria for each supported target:

* LLVM-GCC & LLVM must build in both release and debug mode. They must also build srcDir != objDir. LLVM-GCC must build with support for c, c++, fortran, and obj-c/obj-c++ (Mac only).
* LLVM-GCC must bootstrap.
* "make check" (dejagnu test suite) must pass cleanly.
* There are no regressions in llvm-test from the previous release (correctness only).

Currently the supported targets are: Mac OS 10.5 x86, Mac OS 10.5 PPC, Linux x86, Mingw x86 (however, this is not subjected to the same release criteria as above). For 2.6, we hope to expand this list once we get the release team in place.

Patches are accepted for the 2.5 branch but will only be merged in if they meet the following criteria:

1) During the pre-release1 testing phase, I accept patches that fix known
    regressions in the llvm-test and dejagnu test suite. Patches may also
    be accepted that fix regressions or bugs not in those two test suites
    if they are low risk or fix some extremely critical bug and are
    approved by the appropriate code owner. However, we try to be extremely
    conservative and do not accept all patches. Do not expect your patch to
    be accepted.

2) After the pre-release1 testing phase ends, I begin creating the next
    release candidate. I can not accept any additional patches during this

3) During pre-release2 testing, only patches that fix regressions in
    llvm-test or the dejagnu test suite will be merged into the release.

4) If more patches are required to be merged, we have a 3rd round of
    pre-release testing.

If you have any questions, please let me know.