Fix some spellchecker warnings
[docs.git] / docs / release-process / project-release.rst
1 **************************
2 Project Standalone Release
3 **************************
4
5 This page explains how a project can release independently outside of the
6 OpenDaylight simultaneous release.
7
8 Preparing your project for release
9 ==================================
10
11 A project can produce a staging repository by using one of the following
12 methods against the {project-name}-maven-stage-{stream} job:
13
14 * Leave a comment ``stage-release`` against any patch for the stream to build
15 * Click ``Build with Parameters`` in Jenkins Web UI for the job
16
17 This job performs the following duties:
18
19 1. Removes -SNAPSHOT from all pom files
20 2. Produces a ``taglist.log``, project.patch, and project.bundle files
21 3. Runs a `mvn clean deploy` to a local staging repository
22 4. Pushes the staging repository to a Nexus staging repository
23    https://nexus.opendaylight.org/content/repositories/<REPO_ID>
24    (REPO_ID is saved to ``staging-repo.txt`` on the log server)
25 5. Archives ``taglist.log``, project.patch, and project.bundle files to log
26    server
27
28 The files `̀`taglist.log`` and `̀ project.bundle`̀` can be used later at release
29 time to reproduce a byte exact commit of what was built by the Jenkins job.
30 This can be used to tag the release at release time.
31
32 Releasing your project
33 ======================
34
35 Once testing against the staging repository has been completed and project has
36 determined that the staged repository is ready for release. A release can the be
37 performed using the self-serve release process:
38 https://docs.releng.linuxfoundation.org/projects/global-jjb/en/latest/jjb/lf-release-jobs.html
39
40
41 1. Ask helpdesk the necessary right on jenkins if you do not have them
42 2. Log on https://jenkins.opendaylight.org/releng/
43 3. Choose your project dashboard
44 4. Check your release branch has been successfully staged and note the corresponding log folder
45 5. Go back to the dashboard and choose the release-merge job
46 6. Click on build with parameters
47 7. Fill in the form:
48
49 * GERRIT_BRANCH must be changed to the branch name you want to release (e.g. stable/sodium)
50 * VERSION with your corresponding project version (e.g. 0.4.1)
51 * LOG_DIR with the relative path of the log from the stage release job (e.g. project-maven-stage-master/17/)
52 * choose maven DISTRIBUTION_TYPE in the select box
53 * uncheck USE_RELEASE_FILE box
54
55 8. Launch the jenkins job
56
57
58 This job performs the following duties:
59 * download and patch your project repository
60 * build the project
61 * publish the artifacts on nexus
62 * tag and sign the release on Gerrit
63