]> git.proxmox.com Git - mirror_frr.git/blob - doc/developer/maintainer-release-build.rst
907bd14ee67dc2c12166f0dcf145024a07c009ac
[mirror_frr.git] / doc / developer / maintainer-release-build.rst
1 Release Build Procedure for FRR maintainers
2 =========================================================
3
4 1. Rename branch (if needed)
5
6 .. code-block:: shell
7
8 git clone git@github.com:FRRouting/frr.git
9 cd frr
10 git checkout dev/5.0
11 git push origin :refs/heads/dev/5.0
12 git push origin dev/5.0:refs/heads/stable/5.0
13
14 2. Checkout the new stable branch:
15
16 .. code-block:: shell
17
18 git checkout stable/5.0
19
20 3. Update Changelog for RedHat Package:
21
22 Edit :file:`redhat/frr.spec.in` and look for the ``%changelog`` section:
23
24 - Change last (top of list) entry from ``%{version}`` to previous fixed
25 version number, i.e.::
26
27 * Tue Nov 7 2017 Martin Winter <mwinter@opensourcerouting.org> - %{version}
28
29 to::
30
31 * Tue Nov 7 2017 Martin Winter <mwinter@opensourcerouting.org> - 3.0.2
32
33 - Add new entry to the top of the list with ``%{version}`` tag and changelog
34 for version.
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.
37
38 4. Update Changelog for Debian Packages:
39
40 Edit :file:`debianpkg/changelog.in`:
41
42 - Change last (top of list) entry from ``@VERSION@`` to previous fixed
43 version number, i.e.::
44
45 frr (@VERSION@) RELEASED; urgency=medium
46
47 to::
48
49 frr (3.0.2) RELEASED; urgency=medium
50
51 - Add a new entry to the top of the list with a ``@VERSION@`` tag and
52 changelog for version.
53
54 5. Change main version number:
55
56 - Edit :file:`configure.ac` and change version in the ``AC_INIT`` command
57 - Create a new entry with the version as ``%{version}`` tag
58
59 6. Test building at least a Red Hat and Ubuntu package (or create a PR to have
60 the CI system test them)
61
62 7. Commit the changes, adding the changelog to the commit message
63
64 8. Create a git tag for the version:
65
66 .. code-block:: shell
67
68 git tag -a frr-5.0 -m "FRRouting Release 5.0"
69
70 9. Push the commit and tag(s) and watch for errors on CI:
71
72 .. code-block:: shell
73
74 git push
75 git push --tags
76
77 10. Kick off the Release build plan on the CI system for the correct release
78
79 11. Send a Release Announcement with changes to
80 ``announce@lists.frrouting.org``
81
82 12. Kick off the Snapcraft build plan for the correct release
83
84 13. After CI plans succeed, release on GitHub by going to
85 https://github.com/FRRouting/frr/releases and selecting "Draft a new
86 release".
87
88 14. Deploy Snapcraft release (after CI system finishes the tests for snapcraft
89 testplan)