Migrate autorelease docs to restructured text 43/42743/2
authorThanh Ha <thanh.ha@linuxfoundation.org>
Thu, 28 Jul 2016 21:24:18 +0000 (17:24 -0400)
committerThanh Ha <thanh.ha@linuxfoundation.org>
Wed, 3 Aug 2016 15:24:10 +0000 (11:24 -0400)
Originally docs hosted in autorelease project in Maven site. Migrating
to restructuredtext. Moving to docs because autorelease itself is also
an aggregator repo thus could cause an infinite cloning loop when
building docs.

https://nexus.opendaylight.org/content/sites/site/org.opendaylight.releng.autorelease/boron/

Change-Id: Id710393196d7dff721732f9d5a490810500548aa
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
docs/index.rst
docs/release-process/autorelease.rst [new file with mode: 0644]
docs/release-process/branch-cutting.rst [new file with mode: 0644]
docs/release-process/index.rst [new file with mode: 0644]
docs/release-process/simultaneous-release.rst [new file with mode: 0644]
docs/submodules/spectrometer [new submodule]

index 3759e0453b94c0e403420714fab64bc8554de699..cf7998e0069f12aa2e7b5b7b05fd5a7e1f0e8011 100644 (file)
@@ -45,6 +45,7 @@ participate in the development of OpenDaylight or would like to start.
    submodules/releng/builder/docs/index
    submodules/integration/test/docs/index
    documentation
+   release-process/index
 
 .. Commenting the below out until we actually use it
 .. Indices and tables
diff --git a/docs/release-process/autorelease.rst b/docs/release-process/autorelease.rst
new file mode 100644 (file)
index 0000000..e880a69
--- /dev/null
@@ -0,0 +1,108 @@
+***********
+Autorelease
+***********
+
+The Release Engineering - `Autorelease project
+<https://wiki.opendaylight.org/view/RelEng/Autorelease>`_
+is targeted at building the artifacts that are used in the release candidates
+and final full release.
+
+* `Open Gerrit Patches <https://git.opendaylight.org/gerrit/#/q/project:releng/autorelease+status:open>`_
+* `Jenkins Jobs <https://jenkins.opendaylight.org/releng/view/autorelease/>`_
+
+Cloning Autorelease
+===================
+
+To clone all the autorelease repo including it's submodules simply run the
+clone command with the '''--recursive''' parameter.
+
+.. code-block:: bash
+
+    git clone --recursive https://git.opendaylight.org/gerrit/releng/autorelease
+
+If you forgot to add the --recursive parameter to your git clone you can pull
+the submodules after with the following commands.
+
+.. code-block:: bash
+
+    git submodule init
+    git submodule update
+
+Creating Autorelease - Release and RC build
+===========================================
+
+An autorelease release build comes from the autorelease-release-\<branch\> job
+which can be found on the autorelease tab in the releng master:
+
+* https://jenkins.opendaylight.org/releng/view/autorelease/
+
+For example to create a Boron release candidate build launch a build from the
+autorelease-release-boron job by clicking the '''Build with Parameters'''
+button on the left hand menu:
+
+* https://jenkins.opendaylight.org/releng/view/autorelease/job/autorelease-release-boron/
+
+
+.. note::
+
+    The only field that needs to be filled in is the '''RELEASE_TAG''', leave all
+    other fields to their default setting. Set this to Boron, Boron-RC0,
+    Boron-RC1, etc... depending on the build you'd like to create.
+
+Adding Autorelease staging repo to settings.xml
+===============================================
+
+If you are building or testing this release in such a way that requires pulling
+some of the artifacts from the Nexus repo you may need to modify your
+settings.xml to include the staging repo URL as this URL is not part of ODL
+Nexus' public or snapshot groups. If you've already cloned the recommended
+settings.xml for building ODL you will need to add an additional profile and
+activate it by adding these sections to the "\<profiles\>" and
+"\<activeProfiles\>" sections (please adjust accordingly).
+
+.. note::
+
+    * This is an example and you need to "Add" these example sections to your
+      settings.xml do not delete your existing sections.
+    * The URLs in the \<repository\> and \<pluginRepository\> sections will also
+      need to be updated with the staging repo you want to test.
+
+.. code-block:: xml
+
+    <profiles>
+      <profile>
+        <id>opendaylight-staging</id>
+        <repositories>
+          <repository>
+            <id>opendaylight-staging</id>
+            <name>opendaylight-staging</name>
+            <url>https://nexus.opendaylight.org/content/repositories/automatedweeklyreleases-1062</url>
+            <releases>
+              <enabled>true</enabled>
+              <updatePolicy>never</updatePolicy>
+            </releases>
+            <snapshots>
+              <enabled>false</enabled>
+            </snapshots>
+          </repository>
+        </repositories>
+        <pluginRepositories>
+          <pluginRepository>
+            <id>opendaylight-staging</id>
+            <name>opendaylight-staging</name>
+            <url>https://nexus.opendaylight.org/content/repositories/automatedweeklyreleases-1062</url>
+            <releases>
+              <enabled>true</enabled>
+              <updatePolicy>never</updatePolicy>
+            </releases>
+            <snapshots>
+              <enabled>false</enabled>
+            </snapshots>
+          </pluginRepository>
+        </pluginRepositories>
+      </profile>
+    </profiles>
+
+    <activeProfiles>
+      <activeProfile>opendaylight-staging</activeProfile>
+    </activeProfiles>
diff --git a/docs/release-process/branch-cutting.rst b/docs/release-process/branch-cutting.rst
new file mode 100644 (file)
index 0000000..d6c979a
--- /dev/null
@@ -0,0 +1,32 @@
+**************
+Branch Cutting
+**************
+
+This page documents the current branch cutting tasks that are needed
+to be performed at various milestones and which team has the necessary
+permissions in order to perform the necessary task in Parentheses.
+
+M5 Offset 2
+===========
+
+JJB
+---
+
+- Change JJB stream:boron branch pointer from master -> stable/boron
+  **(releng/builder committers)**
+- Create new stream:carbon branch pointer to branch master
+  **(releng/builder committers)**
+
+Process
+-------
+
+- Disable Submit permission on master branch
+  **(Helpdesk)**
+- Create stable/boron branches based on HEAD master
+  **(Release Engineering Team)**
+- Contribute .gitreview updates to stable/boron
+  **(Release Engineering Team)**
+- Version bump master by 0.1.0
+  **(Release Engineering Team)**
+- Re-enable Submit permission on master branch
+  **(Helpdesk)**
diff --git a/docs/release-process/index.rst b/docs/release-process/index.rst
new file mode 100644 (file)
index 0000000..131c990
--- /dev/null
@@ -0,0 +1,24 @@
+##################################
+OpenDaylight Release Process Guide
+##################################
+
+********
+Overview
+********
+
+This guide provides details on various processes related to OpenDaylight's
+release process and attempts to document the steps used by OpenDaylight Release
+Engineers to perform release operations.
+
+*********
+Processes
+*********
+
+.. toctree::
+   :maxdepth: 1
+
+   autorelease
+   branch-cutting
+   simultaneous-release
+
+.. _OpenStack: https://www.openstack.org/
diff --git a/docs/release-process/simultaneous-release.rst b/docs/release-process/simultaneous-release.rst
new file mode 100644 (file)
index 0000000..d57ccdc
--- /dev/null
@@ -0,0 +1,61 @@
+********************
+Simultaneous Release
+********************
+
+This page explains how the OpenDaylight release process works once the TSC has
+approved a release.
+
+Preparations
+============
+
+After release candidate is built gpg sign artifacts using odlsign-bulk script in
+**releng/builder/scripts**.
+
+.. code-block:: bash
+
+    cd scripts/
+    ./odlsign-bulk <staging-repo-id>  # eg. autorelease-1367
+
+Releasing OpenDaylight
+======================
+
+- Nexus: click release for staging repo **(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
+  **(Release Engineering Team)**
+- Make sure your git repo is setup to push (use git-review)
+
+    .. code-block:: bash
+
+        git review -s
+
+- Download patches 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
+
+- Run the following commands for every project in the release
+
+    .. code-block:: bash
+
+        ../scripts/patch-odl-release.sh /tmp/patches Boron
+        git review -y -t Boron
+        git push gerrit release/boron
+
+- Tag autorelease too
+
+    .. code-block:: bash
+
+        git submodule foreach git checkout release/beryllium
+        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
+
+- Generate release notes (???)
+- Send email to release/tsc/dev notifying tagging and version bump complete **(Release Engineering Team)**
diff --git a/docs/submodules/spectrometer b/docs/submodules/spectrometer
new file mode 160000 (submodule)
index 0000000..d0547cc
--- /dev/null
@@ -0,0 +1 @@
+Subproject commit d0547ccfce7c32a6a6cb5e7cef398d7e346d4440