.. contents::
:local:
+ :depth: 1
.. sectionauthor:: Tanya Lattner <tonic@nondot.org>,
Reid Spencer <rspencer@x10sys.com>,
* Finally, release!
-.. _process:
-
Release Process
===============
-#. :ref:`Release Administrative Tasks <release-admin>`
-
- #. :ref:`Create Release Branch <branch>`
-
- #. :ref:`Update Version Numbers <verchanges>`
-
-#. :ref:`Building the Release <release-build>`
-
- #. :ref:`Build the LLVM Source Distribution <dist>`
-
- #. :ref:`Build LLVM <build>`
-
- #. :ref:`Build the Clang Binary Distribution <clangbin>`
-
- #. :ref:`Target Specific Build Details <target-build>`
-
-#. :ref:`Release Qualification Criteria <release-qualify>`
-
- #. :ref:`Qualify LLVM <llvm-qualify>`
-
- #. :ref:`Qualify Clang <clang-qualify>`
-
- #. :ref:`Specific Target Qualification Details <target>`
-
-#. :ref:`Community Testing <commTest>`
-
-#. :ref:`Release Patch Rules <release-patch>`
-
-#. :ref:`Release final tasks <release-final>`
-
- #. :ref:`Update Documentation <updocs>`
-
- #. :ref:`Tag the LLVM Final Release <tag>`
-
- #. :ref:`Update the LLVM Demo Page <updemo>`
-
- #. :ref:`Update the LLVM Website <webupdates>`
-
- #. :ref:`Announce the Release <announce>`
-
-.. _release-admin:
+.. contents::
+ :local:
Release Administrative Tasks
----------------------------
* Tagging release candidates for the release team to begin testing.
-.. _branch:
-
Create Release Branch
^^^^^^^^^^^^^^^^^^^^^
$ svn co https://llvm.org/svn/llvm-project/test-suite/branches/release_XY test-suite-X.Y
-.. _verchanges:
-
Update LLVM Version
^^^^^^^^^^^^^^^^^^^
In addition, the version numbers of all the Bugzilla components must be updated
for the next release.
-.. _dist:
-
Build the LLVM Release Candidates
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Similarly, **Release Candidate 2** would be named ``RC2`` and so on. This keeps
a permanent copy of the release candidate around for people to export and build
as they wish. The final released sources will be tagged in the ``RELEASE_XY``
-directory as ``Final`` (c.f. :ref:`Tag the LLVM Final Release <tag>`).
+directory as ``Final`` (c.f. :ref:`tag`).
The Release Manager may supply pre-packaged source tarballs for users. This can
be done with the following commands:
$ tar -cvf - dragonegg-X.Yrc1 | gzip > dragonegg-X.Yrc1.src.tar.gz
$ tar -cvf - llvm-test-X.Yrc1 | gzip > llvm-test-X.Yrc1.src.tar.gz
-.. _release-build:
-
Building the Release
--------------------
| Release | ``ENABLE_OPTIMIZED=1 DISABLE_ASSERTIONS=1`` |
+-----------------+---------------------------------------------+
-
-.. _build:
-
Build LLVM
^^^^^^^^^^
of ``llvm`` on all supported platforms. Directions to build ``llvm``
are :ref:`here <getting_started>`.
-.. _clangbin:
-
Build Clang Binary Distribution
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#. Package ``clang`` (details to follow).
-.. _target-build:
-
Target Specific Build Details
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| x86-64 | FreeBSD | gcc 4.2.X |
+--------------+---------------+----------------------+
-.. _release-qualify:
-
Release Qualification Criteria
------------------------------
criteria, but these are the criteria which we found to be most important and
which must be satisfied before a release can go out.**
-.. _llvm-qualify:
-
Qualify LLVM
^^^^^^^^^^^^
no regressions when using either ``clang`` or ``dragonegg`` with the
``test-suite`` from the previous release.
-.. _clang-qualify:
-
Qualify Clang
^^^^^^^^^^^^^
test suite all pass, clang's own test suite passes cleanly, and there are no
regressions in the ``test-suite``.
-.. _target:
-
Specific Target Qualification Details
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| | | | test-suite |
+--------------+-------------+----------------+-----------------------------+
-.. _commTest:
-
Community Testing
-----------------
the release is determined to be ready and the release manager may move onto the
next stage.
-.. _release-patch:
-
Release Patch Rules
-------------------
#. During the remaining rounds of testing, only patches that fix critical
regressions may be applied.
-.. _release-final:
-
Release Final Tasks
-------------------
branch, updating documentation that refers to the release, and updating the
demo page.
-.. _updocs:
-
Update Documentation
^^^^^^^^^^^^^^^^^^^^
$ svn copy https://llvm.org/svn/llvm-project/test-suite/branches/release_XY \
https://llvm.org/svn/llvm-project/test-suite/tags/RELEASE_XY/Final
-.. _updemo:
-
Update the LLVM Demo Page
-------------------------
The LLVM demo page must be updated to use the new release. This consists of
using the new ``clang`` binary and building LLVM.
-.. _webupdates:
-
Update the LLVM Website
^^^^^^^^^^^^^^^^^^^^^^^
new release and release announcement. Make sure this all gets committed back
into Subversion.
-.. _announce:
-
Announce the Release
^^^^^^^^^^^^^^^^^^^^