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