Project:LLVM/Releases

LLVM release cycle
LLVM follows a biannual major release cycle. Every six months a new major release is branched out. After a few RCs, x.0.0 release is made. Afterwards, fixes are collected for a bugfix release. Again, after a few RCs x.0.1 release is made.

New release branches
When upstream creates a new release branch (e.g. ), main becomes the next major version. We need to update the live ebuilds for that, that is:


 * 1) Update   in   to the new major version (e.g. 14). This will switch all existing   to the   branch.
 * 2) Update   in
 * 3) Bump the live ebuilds for the new main version (e.g. copy   to   (  from   to.

Release candidates
Once upstream starts tagging RCs, create unkeyworded ebuilds for them:


 * 1) Clone the https://gitweb.gentoo.org/fork/llvm-project.git/ repository, select the latest   tag, fetch from upstream, rebase against upstream release tag and release the patchset.


 * 1) Copy the old live ebuilds into   ebuilds and the eclass handles the rest (e.g.   to  ).

Final releases
The process is pretty much the same as for RCs. The only differences are:


 * 1) Ebuilds get regular   keywords.
 * 2) Copy generated manpages from   and   to a dist tarball, and switch the ebuild to.

x.0.1 release
Upstream generally makes one bugfix release to each major version. Once x.0.1 final is packaged, you can remove the corresponding live ebuilds.

Ebuilds
Bump the ebuilds generically:

Do not push yet. Generate the man pages tarball by building LLVM with man page generation enabled: