5 This page explains how the OpenDaylight release process works once the TSC has
11 After release candidate is built gpg sign artifacts using the
12 `lftools sign <https://lf-releng-tools.readthedocs.io/en/latest/commands/sign.html>`_
17 STAGING_REPO=autorelease-1903
18 STAGING_PROFILE_ID=abc123def456 # This Profile ID is listed in Nexus > Staging Profiles
19 lftools sign deploy-nexus https://nexus.opendaylight.org $STAGING_REPO $STAGING_PROFILE_ID
21 Verify the distribution-karaf file with the signature.
25 gpg2 --verify distribution-karaf-x.y.z-${RELEASE}.tar.gz.asc distribution-karaf-x.y.z-${RELEASE}.tar.gz
28 Releasing OpenDaylight
29 ======================
31 - Block submit permissions for registered users and elevate RE's committer
35 .. figure:: images/gerrit-update-committer-rights.png
39 Enable **Exclusive** checkbox for the submit button to override any
40 existing persmissions. Code-Review and Verify permissions are only needed
41 during version bumping. DO NOT enable it during code freeze.
43 - Nexus: click release for staging repo
46 - Nexus: click release for gpgsign repo (created above in Preparations)
49 - Pull latest autorelease repository
50 **(Release Engineering Team)**
52 .. note:: If you already cloned autorelease the clone line can be skipped below.
56 git clone --recursive https://git.opendaylight.org/gerrit/releng/autorelease
58 git submodule update --init
60 git submodule foreach 'git review -s'
62 - Make sure the latest lftools is installed
63 **(Release Engineering Team)**
65 .. note:: If you already created an lftools virtualenv you can skip the mkvirtualenv step below.
71 pip install --upgrade lftools
73 - Publish release tags
74 **(Release Engineering Team)**
78 export RELEASE=Beryllium-SR4
79 export STREAM=${RELEASE//-*}
81 export PATCH_URL="https://logs.opendaylight.org/releng/jenkins092/autorelease-release-${STREAM,,}/${BUILD_NUM}/archives/patches.tar.gz"
82 ./scripts/release-tags.sh "${RELEASE}" /tmp/patches "$PATCH_URL"
84 - Run autorelease-version-bump-${STREAM} job
85 **(Release Engineering Team)**
87 - Send email to Helpdesk with binary URL to update website
90 - Send email to TSC and Release mailing lists announcing release binaries location
91 **(Release Engineering Team)**
93 - Merge all patches generated by the job
94 **(Release Engineering Team)**
96 - Re-enable submit permissions for registered users and disable elevated RE
97 committer rights on gerrit
100 - Send email to release/tsc/dev notifying tagging and version bump complete
101 **(Release Engineering Team)**
103 - Run autorelease-generate-release-notes-${STREAM} job
104 **(Release Engineering Team)**
106 This job is run a the end of every autorelease build can be used only for
107 service releases (SR). The release notes file (release_notes.rst) is available
108 under archives. For major releases (Nitrogen, Carbon) the docs repository has
109 to branched and published which is only done after release reviews are
112 Release notes can also be manually generated with the script.
116 git checkout stable/${BRANCH,,}
117 cd scripts/release_notes_management/ && ./build.sh
119 The output file (release_notes.rst) generated by the build script is available
120 under autorelease/scripts/release_notes_management/projects/.