1 Release Build Procedure for FRR maintainers
2 =========================================================
4 1. Rename branch (if needed)
8 git clone git@github.com:FRRouting/frr.git
11 git push origin :refs/heads/dev/5.0
12 git push origin dev/5.0:refs/heads/stable/5.0
14 2. Checkout the new stable branch:
18 git checkout stable/5.0
20 3. Update Changelog for RedHat Package:
22 Edit :file:`redhat/frr.spec.in` and look for the ``%changelog`` section:
24 - Change last (top of list) entry from ``%{version}`` to previous fixed
25 version number, i.e.::
27 * Tue Nov 7 2017 Martin Winter <mwinter@opensourcerouting.org> - %{version}
31 * Tue Nov 7 2017 Martin Winter <mwinter@opensourcerouting.org> - 3.0.2
33 - Add new entry to the top of the list with ``%{version}`` tag and changelog
35 Make sure to watch the format, i.e. the day is always 2 characters, with
36 the 1st character being a space if the day is one digit.
38 4. Update Changelog for Debian Packages:
40 Edit :file:`debianpkg/changelog.in`:
42 - Change last (top of list) entry from ``@VERSION@`` to previous fixed
43 version number, i.e.::
45 frr (@VERSION@) RELEASED; urgency=medium
49 frr (3.0.2) RELEASED; urgency=medium
51 - Add a new entry to the top of the list with a ``@VERSION@`` tag and
52 changelog for version.
54 5. Change main version number:
56 - Edit :file:`configure.ac` and change version in the ``AC_INIT`` command
57 - Create a new entry with the version as ``%{version}`` tag
59 6. Test building at least a Red Hat and Ubuntu package (or create a PR to have
60 the CI system test them)
62 7. Commit the changes, adding the changelog to the commit message
64 8. Create a git tag for the version:
68 git tag -a frr-5.0 -m "FRRouting Release 5.0"
70 9. Push the commit and tag(s) and watch for errors on CI:
77 10. Kick off the Release build plan on the CI system for the correct release
79 11. Send a Release Announcement with changes to
80 ``announce@lists.frrouting.org``
82 12. Kick off the Snapcraft build plan for the correct release
84 13. After CI plans succeed, release on GitHub by going to
85 https://github.com/FRRouting/frr/releases and selecting "Draft a new
88 14. Deploy Snapcraft release (after CI system finishes the tests for snapcraft