How To Release LLVM To The Public

NOTE: THIS DOCUMENT IS A WORK IN PROGRESS!

1. Introduction
2. Release Process
   1. Overview
   2. Merge Branches
   3. Build LLVM
   4. Run 'make check'
   5. Run LLVM Test Suite
   6. make LibDeps.txt
   7. cvs tag
   8. make dist
   9. Release

Written by Reid Spencer

Introduction

This document collects information about successfully releasing LLVM to the public. It is the release manager's guide to ensuring that a high quality build of LLVM is released. Mostly, its just a bunch of reminders of things to do at release time so we don't inadvertently ship something that is utility deficient.

Release Process
Process Overview

1. Merge Branches
2. Build LLVM
3. Run 'make check'
4. Run LLVM Test Suite
5. make LibDeps.txt
6. cvs tag
7. make dist
8. release

Merge Branches

Merge any work done on branches intended for release into mainline.

Build LLVM

Build LLVM

Run 'make check'

Run "make check" and ensure there are no unexpected failures. If there are, resolve the failures and go back to step 2.

LLVM Test Suite

Run the llvm-test suite and ensure there are no unacceptable failures. If there are, resolve the failures and go back to step 2.

Make LibDeps.txt

Rebuild the LibDeps.txt target in utils/llvm-config. This makes sure that the llvm-config utility remains relevant for the release, reflecting any changes in the library dependencies.

CVS Tag

Tag the release.

Run 'make dist'

Build the distribution, ensuring it is installable and working

Release

Release the distribution tarball to the public.