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