]> git.puffer.fish Git - mirror/frr.git/commitdiff
doc: Add document for Release Build by maintainer 2553/head
authorMartin Winter <mwinter@opensourcerouting.org>
Thu, 21 Jun 2018 21:01:43 +0000 (14:01 -0700)
committerMartin Winter <mwinter@opensourcerouting.org>
Tue, 10 Jul 2018 07:49:28 +0000 (00:49 -0700)
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
doc/Makefile.am
doc/developer/maintainer-release-build.rst [new file with mode: 0644]

index 1f27e4a8e7fdc42e0794ea41e282a511a5cf2184..62cb3c2edb452e7e859fe6eafef2d863c7ca4a08 100644 (file)
@@ -183,6 +183,7 @@ EXTRA_DIST = frr-sphinx.mk \
        developer/ldpd-basic-test-setup.md \
        developer/library.rst \
        developer/Makefile.in \
+       developer/maintainer-release-build.rst \
        developer/memtypes.rst \
        developer/modules.rst \
        developer/next-hop-tracking.rst \
diff --git a/doc/developer/maintainer-release-build.rst b/doc/developer/maintainer-release-build.rst
new file mode 100644 (file)
index 0000000..d2dbcc7
--- /dev/null
@@ -0,0 +1,86 @@
+Release Build Procedure for FRR maintainers
+=========================================================
+
+1) Rename branch (if needed)
+
+.. code-block:: shell
+
+        git clone git@github.com:FRRouting/frr.git
+        cd frr
+        git checkout dev/5.0
+        git push origin :refs/heads/dev/5.0
+        git push origin dev/5.0:refs/heads/stable/5.0
+
+2) Checkout the new stable branch:
+
+.. code-block:: shell
+
+        git checkout stable/5.0
+
+3) Update Changelog for RedHat Package:
+
+        Edit :file:`redhat/frr.spec.in` and look for %changelog section:
+
+        - Change last (top of list) entry from %{version} to previous
+          fixed version number, ie
+
+          ``* Tue Nov  7 2017 Martin Winter <mwinter@opensourcerouting.org> - %{version}``
+
+          to
+
+          ``* Tue Nov  7 2017 Martin Winter <mwinter@opensourcerouting.org> - 3.0.2``
+
+        - Add new entry (top of list) with ``%{version}`` tag and changelog
+          for version.
+          Make sure to watch for format, ie day is always 2 chars, with 1st
+          char a space if single digit
+
+4) Update Changelog for Debian Packages:
+
+        Edit :file:`debianpkg/changelog.in`:
+
+        - Change last (top of list) entry from @VERSION@ to previous
+          fixed version number, ie
+
+          ``frr (@VERSION@) RELEASED; urgency=medium``
+
+          to
+
+          ``frr (3.0.2) RELEASED; urgency=medium``
+
+        - Add new entry (top of list) with @VERSION@ tag and changelog for version
+
+5) Change main version number:
+
+    - Edit :file:`configure.ac` and change version in ``AC_INIT`` command
+    - Create new entry with version as ``%{version}`` tag
+
+6) Test building at least a Redhat and a Ubuntu Package (or create a PR
+   to have the CI system test them)
+
+7) Commit the changes (add changelog to commit message)
+
+8) Create Tag for Version:
+
+.. code-block:: shell
+
+        git tag -a frr-5.0 -m "FRRouting Release 5.0"
+
+9) Push commit and Tags and watch for errors on CI
+
+.. code-block:: shell
+
+        git push
+        git push --tags
+
+10) Kick off the Release build plan on the CI system for the correct release
+
+11) Send Release Announcement with changes to ``announce@lists.frrouting.org``
+
+12) Kick off the Snapcraft build plan for the correct release
+
+13) After CI plans succeed, release on github.
+
+        Go to https://github.com/FRRouting/frr/releases and select "Draft a new release"
+
+14) Deploy Snapcraft Release (after CI system finishes the tests for snapcraft testplan)