Index: llvm/trunk/docs/HowToReleaseLLVM.rst =================================================================== --- llvm/trunk/docs/HowToReleaseLLVM.rst +++ llvm/trunk/docs/HowToReleaseLLVM.rst @@ -136,51 +136,24 @@ In addition, the version numbers of all the Bugzilla components must be updated for the next release. -Build the LLVM Release Candidates -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Tagging the LLVM Release Candidates +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Create release candidates for ``llvm``, ``clang``, ``dragonegg``, and the LLVM -``test-suite`` by tagging the branch with the respective release candidate -number. For instance, to create **Release Candidate 1** you would issue the -following commands: +Tag release candidates using the tag.sh script in utils/release. :: - $ svn mkdir https://llvm.org/svn/llvm-project/llvm/tags/RELEASE_XYZ - $ svn copy https://llvm.org/svn/llvm-project/llvm/branches/release_XY \ - https://llvm.org/svn/llvm-project/llvm/tags/RELEASE_XYZ/rc1 - - $ svn mkdir https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_XYZ - $ svn copy https://llvm.org/svn/llvm-project/cfe/branches/release_XY \ - https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_XYZ/rc1 - - $ svn mkdir https://llvm.org/svn/llvm-project/dragonegg/tags/RELEASE_XYZ - $ svn copy https://llvm.org/svn/llvm-project/dragonegg/branches/release_XY \ - https://llvm.org/svn/llvm-project/dragonegg/tags/RELEASE_XYZ/rc1 - - $ svn mkdir https://llvm.org/svn/llvm-project/test-suite/tags/RELEASE_XYZ - $ svn copy https://llvm.org/svn/llvm-project/test-suite/branches/release_XY \ - https://llvm.org/svn/llvm-project/test-suite/tags/RELEASE_XYZ/rc1 - -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_XYZ`` -directory as ``Final`` (c.f. :ref:`tag`). + $ ./tag.sh -release X.Y.Z -rc $RC The Release Manager may supply pre-packaged source tarballs for users. This can -be done with the following commands: +be done with the export.sh script in utils/release. :: - $ svn export https://llvm.org/svn/llvm-project/llvm/tags/RELEASE_XYZ/rc1 llvm-X.Yrc1 - $ svn export https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_XYZ/rc1 clang-X.Yrc1 - $ svn export https://llvm.org/svn/llvm-project/dragonegg/tags/RELEASE_XYZ/rc1 dragonegg-X.Yrc1 - $ svn export https://llvm.org/svn/llvm-project/test-suite/tags/RELEASE_XYZ/rc1 llvm-test-X.Yrc1 - - $ tar -cvf - llvm-X.Yrc1 | gzip > llvm-X.Yrc1.src.tar.gz - $ tar -cvf - clang-X.Yrc1 | gzip > clang-X.Yrc1.src.tar.gz - $ 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 + $ ./export.sh -release X.Y.Z -rc $RC + +This will generate source tarballs for each LLVM project being validated, which +can be uploaded to the website for further testing. Building the Release -------------------- @@ -384,21 +357,11 @@ Tag the LLVM Final Release ^^^^^^^^^^^^^^^^^^^^^^^^^^ -Tag the final release sources using the following procedure: +Tag the final release sources using the tag.sh script in utils/release. :: - $ svn copy https://llvm.org/svn/llvm-project/llvm/branches/release_XY \ - https://llvm.org/svn/llvm-project/llvm/tags/RELEASE_XYZ/Final - - $ svn copy https://llvm.org/svn/llvm-project/cfe/branches/release_XY \ - https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_XYZ/Final - - $ svn copy https://llvm.org/svn/llvm-project/dragonegg/branches/release_XY \ - https://llvm.org/svn/llvm-project/dragonegg/tags/RELEASE_XYZ/Final - - $ svn copy https://llvm.org/svn/llvm-project/test-suite/branches/release_XY \ - https://llvm.org/svn/llvm-project/test-suite/tags/RELEASE_XYZ/Final + $ ./tag.sh -release X.Y.Z -final Update the LLVM Demo Page -------------------------