After release candidate is built gpg sign artifacts using odlsign-bulk script in
**releng/builder/scripts**.
-.. code-block:: bash
+ .. code-block:: bash
- cd scripts/
- ./odlsign-bulk <staging-repo-id> # eg. autorelease-1367
+ cd scripts/
+ ./odlsign-bulk <staging-repo-id> # eg. autorelease-1367
Releasing OpenDaylight
======================
+- Block submit permissions for registered users and elevate RE's committer rights on gerrit.
+
+ .. figure:: images/gerrit-update-committer-rights.png
+
- 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/boron
+- Checkout autorelease and switch to release branch eg stable/carbon
**(Release Engineering Team)**
+
+ .. code-block:: bash
+
+ git checkout -b stable/carbon origin/stable/carbon
+ git submodules update
+ git submodule foreach 'git checkout -b stable/carbon origin/stable/carbon || true'
+
+
- Make sure your git repo is setup to push (use git-review)
.. code-block:: bash
- git review -s
+ git submodule foreach 'git review -s'
-- Download patches from Jenkins build page
+- Download patches (*.bundle files and taglist.log.gz) from Jenkins build page.
.. code-block:: bash
- cd /tmp
- wget https://jenkins.opendaylight.org/releng/view/autorelease/job/autorelease-release-boron/230/artifact/patches/*zip*/patches.zip
- unzip patches.zip
+ mkdir /tmp/patches && cd /tmp/patches
+ wget -r -A .bundle --accept-regex ".*\.bundle" https://logs.opendaylight.org/releng/jenkins092/autorelease-release-carbon/252/archives/patches/
+ wget https://logs.opendaylight.org/releng/jenkins092/autorelease-release-carbon/252/archives/patches/taglist.log.gz
+ gunzip taglist.log.gz
-- Run the following commands for every project in the release
+- Run the following commands for every project in the release, to apply patches to each project directory.
.. code-block:: bash
- ../scripts/patch-odl-release.sh /tmp/patches Boron
- git review -y -t Boron
- git push gerrit release/boron
+ ../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
- git submodule foreach git checkout release/beryllium
+ git checkout `cat /tmp/patches/taglist.log | grep autorelease | awk '{print $2}'`
+ git submodule foreach git checkout release/carbon
git add [add each project individually to not pull in extra]
- git commit -sm "Release Beryllium"
- git tag -asm "OpenDaylight Beryllium release" release/beryllium
- git review -y -t Beryllium
- git push gerrit release/beryllium
+ git commit -asSm "Release carbon"
+ git tag -asm "OpenDaylight Carbon release" release/carbon
+ git review -y -t Carbon
+ git push gerrit release/carbon
+
+- Re-enable submit permissions for registered users and disable elevated RE committer rights on gerrit.
- Generate release notes (???)
- Send email to release/tsc/dev notifying tagging and version bump complete **(Release Engineering Team)**