.. code-block:: bash
cd scripts/
- ./odlsign-bulk <staging-repo-id> # eg. autorelease-1367
+ ./odlsign-bulk STAGING_REPO_ID # eg. autorelease-1367
+
+Verify the distribution-karaf file with the signature.
+
+.. code-block:: bash
+
+ gpg2 --verify distribution-karaf-x.y.z-${RELEASE}.tar.gz.asc distribution-karaf-x.y.z-${RELEASE}.tar.gz
+
Releasing OpenDaylight
======================
+- Block submit permissions for registered users and elevate RE's committer rights on gerrit. **(Helpdesk)**
+
+ .. figure:: images/gerrit-update-committer-rights.png
+
+ .. note::
+
+ Enable Exclusive checkbox
+
+- Export ${RELEASE} and ${BUILDNUM} with current release name and build number.
+
+ .. code-block:: bash
+
+ export RELEASE=Beryllium-SR4
+ export BRANCH=${RELEASE//-*}
+ export BUILDNUM=55
+
- Nexus: click release for staging repo **(Helpdesk)**
- Nexus: click release for gpgsign repo (created above in Preparations) **(Helpdesk)**
- Send email to Helpdesk with binary URL to update website **(Helpdesk)**
- Send email to TSC and Release mailing lists announcing release binaries location **(Release Engineering Team)**
-- Checkout autorelease and switch to release branch eg stable/carbon
- **(Release Engineering Team)**
+- Clone autorelease repository. **(Release Engineering Team)**
+
+ .. code-block:: bash
+
+ git clone --recursive https://git.opendaylight.org/gerrit/releng/autorelease
+
+- Checkout autorelease and switch to release branch eg stable/carbon **(Release Engineering Team)**
+
+ .. code-block:: bash
+
+ git checkout -b stable/${BRANCH,,} origin/stable/${BRANCH,,}
+ git submodule update --init
+ git submodule foreach git checkout -b stable/${BRANCH,,} origin/stable/${BRANCH,,}
+
- Make sure your git repo is setup to push (use git-review)
- .. code-block:: bash
+ .. code-block:: bash
+
+ git review -s
+ git submodule foreach 'git review -s'
- git review -s
+- Download patches (\*.bundle files and taglist.log.gz) from log server.
-- Download patches from Jenkins build page
+ .. code-block:: bash
- .. code-block:: bash
+ mkdir /tmp/patches && cd /tmp/patches
+ wget https://logs.opendaylight.org/releng/jenkins092/autorelease-release-${BRANCH,,}/${BUILDNUM}/archives/all-bundles.tar.gz
+ gunzip all-bundles.tar.gz
+ wget https://logs.opendaylight.org/releng/jenkins092/autorelease-release-${BRANCH,,}/${BUILDNUM}/archives/patches/taglist.log.gz
+ gunzip taglist.log.gz
- cd /tmp
- wget https://jenkins.opendaylight.org/releng/view/autorelease/job/autorelease-release-boron/230/artifact/patches/*zip*/patches.zip
- unzip patches.zip
+- Run the following commands for every project in the release, to apply patches to each project directory.
-- Run the following commands for every project in the release
+ .. code-block:: bash
- .. code-block:: bash
+ pip install lftools
+ lftools version patch ${RELEASE}
+ git review -y -t ${RELEASE}
+ git push gerrit release/${RELEASE,,}
- ../scripts/patch-odl-release.sh /tmp/patches Carbon
- git review -y -t Carbon
- git push gerrit release/carbon
+- Merge all patches on gerrit in the order generated by merge-order.log
- Tag autorelease too
- .. code-block:: bash
+ .. code-block:: bash
+
+ git checkout `cat /tmp/patches/taglist.log | grep autorelease | awk '{print $2}'`
+ git submodule foreach git checkout release/${RELEASE,,}
+ git commit -asSm "Release ${RELEASE}"
+ git tag -asm "OpenDaylight ${RELEASE} release" release/${RELEASE,,}
+ git push gerrit release/${RELEASE,,}
+
+- Re-enable submit permissions for registered users and disable elevated RE committer rights on gerrit.
+
+- Release notes is auto generated by job autorelease-generate-release-notes-${BRANCH,,}
+ triggered at the end of every autorelease build. The release notes file (release_notes.rst) is
+ available under archives.
+
+ Alternatively, release notes can also be manually generated with the script.
+ **(Release Engineering Team)**
+
+ .. code-block:: bash
+
+ git checkout stable/${BRANCH,,}
+ cd scripts/release_notes_management/ && ./build.sh
- git submodule foreach git checkout release/carbon
- git add [add each project individually to not pull in extra]
- git commit -sm "Release Carbon"
- git tag -asm "OpenDaylight Carbon release" release/carbon
- git review -y -t Carbon
- git push gerrit release/carbon
+ The output file (release_notes.rst) generated by the build script is available under autorelease/scripts/release_notes_management/projects/.
-- Generate release notes (???)
- Send email to release/tsc/dev notifying tagging and version bump complete **(Release Engineering Team)**