From 1a2e110470db6504a70ed310493ae85efb4bd389 Mon Sep 17 00:00:00 2001
From: Reid Spencer
Merge any work done on branches intended for release into mainline.
+Merge any work done on branches intended for release into mainline. Work that +is not to be incorporated into the release should not be merged from the branch. +
+Use the nightly test reports, and 'make check' (deja-gnu based tests) to + increase the quality of LLVM and ensure that merged branches have not + destabilized LLVM.
Build LLVM
+Build both debug and release versions of LLVM on all platforms. Ensure + build is warning and error free on each platform.
Run make check and ensure there are no unexpected failures. If - there are, resolve the failures and go back to step 2.
+ there are, resolve the failures and go back to step 2. + Ensure that 'make check' passes on all platforms for all targets. If certain + failures cannot be resolved before release time, determine if marking them + XFAIL is appropriate. If not, fix the bug and go back. The test suite must + complete with "0 unexpected failures" for release. +Run the llvm-test suite and ensure there are no unacceptable failures. - If there are, resolve the failures and go back to step 2.
+ If there are, resolve the failures and go back to step 2. The test suite + should be run in Nightly Test mode. All tests must pass. If they do not, + investigate and go back to settling CVS HEAD.Tag the release.
+Tag and branch the CVS HEAD using the following procedure:
+Build the distribution, ensuring it is installable and working
+Build the distribution, ensuring it is installable and working. This is a + two step process. First, use "make dist" to simply build the distribution. Any + failures need to be corrected (on the branch). Once "make dist" can be + successful, do "make dist-check". This target will do the same thing as the + 'dist' target but also test that distribution to make sure it works. This + ensures that needed files are not missing and that the src tarball can be + successfully unbacked, built, installed, and cleaned. This two-level testing + needs to be done on each target platform.
Release the distribution tarball to the public.
+Release the distribution tarball to the public. This consists of generating + several tarballs. The first set, the source distributions, are automatically + generated by the "make dist" and "make dist-check". There are gzip, bzip2, and + zip versions of these bundles.
+The second set of tarballs is the binary release. When "make dist-check" + succeeds, it will have created an _install directory into which it installed + the binary release. You need to rename that directory as "llvm" and then + create tarballs from the contents of that "llvm" directory.
+Finally, use rpm to make an rpm package based on the llvm.spec file. Don't + forget to update the version number, documentation, etc. in the llvm.spec + file.