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}/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 Trigger this job by leaving a Gerrit comment `generate-release-notes Carbon-SR2`
108 .. important:: This job can only be used to generate service releases.
110 For major releases the notes come from the projects themselves in the docs
111 repo via the `docs/releaset-notes/projects` directory.
113 Release notes can also be manually generated with the script:
117 git checkout stable/${BRANCH,,}
118 ./scripts/release-notes-generator.sh Carbon-SR2
120 A `release-notes.rst` will be generated in the working directory.