864b6ce078979b99e00944d578b92a296027612c
[releng/builder.git] / docs / release-workflow.rst
1 .. _odl-release-workflow:
2
3 Release Workflow
4 ================
5
6 This page documents the workflow for releasing for projects that are not built
7 and released via the Autorelease project.
8
9 Sections:
10
11 .. contents::
12    :depth: 3
13    :local:
14
15 Workflow
16 --------
17
18 OpenDaylight uses Nexus as it's artifact repository for releasing artifacts to
19 the world. The workflow involves using Nexus to produce a staging repository
20 which can be tested and reviewed before being approved to copy to the final
21 destination opendaylight.release repo. The workflow in general is as follows:
22
23 1. Project create release tag and push to Gerrit
24 2. Project will contact helpdesk@opendaylight.org with project name and build
25    tag to produce a release candidate / staging repo
26 3. Helpdesk will run a build and notify project of staging repo location
27 4. Project tests staging repo and notifies Helpdesk with go ahead to release
28 5. Helpdesk clicks Release repo button in Nexus
29 6. (optional) Helpdesk runs Jenkins job to push update-site.zip to p2repos
30    sites repo
31
32 Step 6 is only necessary for Eclipse projects that need to additionally deploy
33 an update site to a webserver.
34
35 Release Job
36 -----------
37
38 There is a JJB template release job which should be used for a project if the
39 project needs to produce a staging repo for release. The supported Job types
40 are listed below, use the one relevant to your project.
41
42 **Maven|Java** {name}-release-java -- this job type will produce a staging repo
43 in Nexus for Maven projects.
44
45 **P2 Publisher** {name}-publish-p2repo -- this job type is useful for projects
46 that produce a p2 repo that needs to be published to a special URL.