X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=docs%2FHowToReleaseLLVM.rst;h=61aa9e869f27310696f088d90f4fd2700da50664;hb=dd2d4303527c4be7d5a050f1cc11831e76114181;hp=208b9b7632014a4df3bf015c9c0ed5b02eff4466;hpb=a7aec400a7014edba1eeb53c582d3ab47178fe8d;p=oota-llvm.git diff --git a/docs/HowToReleaseLLVM.rst b/docs/HowToReleaseLLVM.rst index 208b9b76320..61aa9e869f2 100644 --- a/docs/HowToReleaseLLVM.rst +++ b/docs/HowToReleaseLLVM.rst @@ -14,17 +14,23 @@ including subprojects: e.g., ``clang`` and ``dragonegg`` --- to the public. It is the Release Manager's responsibility to ensure that a high quality build of LLVM is released. +If you're looking for the document on how to test the release candidates and +create the binary packages, please refer to the :doc:`ReleaseProcess` instead. + .. _timeline: Release Timeline ================ -LLVM is released on a time based schedule --- roughly every 6 months. We do -not normally have dot releases because of the nature of LLVM's incremental -development philosophy. That said, the only thing preventing dot releases for -critical bug fixes from happening is a lack of resources --- testers, -machines, time, etc. And, because of the high quality we desire for LLVM -releases, we cannot allow for a truncated form of release qualification. +LLVM is released on a time based schedule --- with major releases roughly +every 6 months. In between major releases there may be dot releases. +The release manager will determine if and when to make a dot release based +on feedback from the community. Typically, dot releases should be made if +there are large number of bug-fixes in the stable branch or a critical bug +has been discovered that affects a large number of users. + +Unless otherwise stated, dot releases will follow the same procedure as +major releases. The release process is roughly as follows: @@ -48,6 +54,10 @@ The release process is roughly as follows: * Finally, release! +The release process will be accelerated for dot releases. If the first round +of testing finds no critical bugs and no regressions since the last major release, +then additional rounds of testing will not be required. + Release Process =============== @@ -235,6 +245,8 @@ when qualifying the build of ``llvm``, ``clang``, and ``dragonegg``. +--------------+---------------+----------------------+ | x86-64 | FreeBSD | gcc 4.2.X | +--------------+---------------+----------------------+ +| ARMv7 | Linux | gcc 4.6.X, gcc 4.7.X | ++--------------+---------------+----------------------+ Release Qualification Criteria ------------------------------ @@ -263,7 +275,7 @@ no regressions when using either ``clang`` or ``dragonegg`` with the Qualify Clang ^^^^^^^^^^^^^ -``Clang`` is qualified when front-end specific tests in the ``llvm`` dejagnu +``Clang`` is qualified when front-end specific tests in the ``llvm`` regression test suite all pass, clang's own test suite passes cleanly, and there are no regressions in the ``test-suite``. @@ -273,26 +285,30 @@ Specific Target Qualification Details +--------------+-------------+----------------+-----------------------------+ | Architecture | OS | clang baseline | tests | +==============+=============+================+=============================+ -| x86-32 | Linux | last release | llvm dejagnu, | -| | | | clang tests, | +| x86-32 | Linux | last release | llvm regression tests, | +| | | | clang regression tests, | | | | | test-suite (including spec) | +--------------+-------------+----------------+-----------------------------+ -| x86-32 | FreeBSD | last release | llvm dejagnu, | -| | | | clang tests, | +| x86-32 | FreeBSD | last release | llvm regression tests, | +| | | | clang regression tests, | | | | | test-suite | +--------------+-------------+----------------+-----------------------------+ | x86-32 | mingw | none | QT | +--------------+-------------+----------------+-----------------------------+ -| x86-64 | Mac OS 10.X | last release | llvm dejagnu, | -| | | | clang tests, | +| x86-64 | Mac OS 10.X | last release | llvm regression tests, | +| | | | clang regression tests, | | | | | test-suite (including spec) | +--------------+-------------+----------------+-----------------------------+ -| x86-64 | Linux | last release | llvm dejagnu, | -| | | | clang tests, | +| x86-64 | Linux | last release | llvm regression tests, | +| | | | clang regression tests, | | | | | test-suite (including spec) | +--------------+-------------+----------------+-----------------------------+ -| x86-64 | FreeBSD | last release | llvm dejagnu, | -| | | | clang tests, | +| x86-64 | FreeBSD | last release | llvm regression tests, | +| | | | clang regression tests, | +| | | | test-suite | ++--------------+-------------+----------------+-----------------------------+ +| ARMv7A | Linux | last release | llvm regression tests, | +| | | | clang regression tests, | | | | | test-suite | +--------------+-------------+----------------+-----------------------------+ @@ -343,6 +359,9 @@ Below are the rules regarding patching the release branch: #. During the remaining rounds of testing, only patches that fix critical regressions may be applied. +#. For dot releases all patches must mantain both API and ABI compatibility with + the previous major release. Only bugfixes will be accepted. + Release Final Tasks -------------------