Merge pull request #2651 from qlyoung/doc-cleanup-release-process

doc: cleanup maintainer release document
This commit is contained in:
Martin Winter 2018-07-10 17:39:15 -07:00 committed by GitHub
commit 01d38683b9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,86 +1,89 @@
Release Build Procedure for FRR maintainers Release Build Procedure for FRR maintainers
========================================================= =========================================================
1) Rename branch (if needed) 1. Rename branch (if needed)
.. code-block:: shell .. code-block:: shell
git clone git@github.com:FRRouting/frr.git git clone git@github.com:FRRouting/frr.git
cd frr cd frr
git checkout dev/5.0 git checkout dev/5.0
git push origin :refs/heads/dev/5.0 git push origin :refs/heads/dev/5.0
git push origin dev/5.0:refs/heads/stable/5.0 git push origin dev/5.0:refs/heads/stable/5.0
2) Checkout the new stable branch: 2. Checkout the new stable branch:
.. code-block:: shell .. code-block:: shell
git checkout stable/5.0 git checkout stable/5.0
3) Update Changelog for RedHat Package: 3. Update Changelog for RedHat Package:
Edit :file:`redhat/frr.spec.in` and look for %changelog section: Edit :file:`redhat/frr.spec.in` and look for the ``%changelog`` section:
- Change last (top of list) entry from %{version} to previous - Change last (top of list) entry from ``%{version}`` to previous fixed
fixed version number, ie version number, i.e.::
``* Tue Nov 7 2017 Martin Winter <mwinter@opensourcerouting.org> - %{version}`` * Tue Nov 7 2017 Martin Winter <mwinter@opensourcerouting.org> - %{version}
to to::
``* Tue Nov 7 2017 Martin Winter <mwinter@opensourcerouting.org> - 3.0.2`` * Tue Nov 7 2017 Martin Winter <mwinter@opensourcerouting.org> - 3.0.2
- Add new entry (top of list) with ``%{version}`` tag and changelog - Add new entry to the top of the list with ``%{version}`` tag and changelog
for version. for version.
Make sure to watch for format, ie day is always 2 chars, with 1st Make sure to watch the format, i.e. the day is always 2 characters, with
char a space if single digit the 1st character being a space if the day is one digit.
4) Update Changelog for Debian Packages: 4. Update Changelog for Debian Packages:
Edit :file:`debianpkg/changelog.in`: Edit :file:`debianpkg/changelog.in`:
- Change last (top of list) entry from @VERSION@ to previous - Change last (top of list) entry from ``@VERSION@`` to previous fixed
fixed version number, ie version number, i.e.::
``frr (@VERSION@) RELEASED; urgency=medium`` frr (@VERSION@) RELEASED; urgency=medium
to to::
``frr (3.0.2) RELEASED; urgency=medium`` frr (3.0.2) RELEASED; urgency=medium
- Add new entry (top of list) with @VERSION@ tag and changelog for version - Add a new entry to the top of the list with a ``@VERSION@`` tag and
changelog for version.
5) Change main version number: 5. Change main version number:
- Edit :file:`configure.ac` and change version in ``AC_INIT`` command - Edit :file:`configure.ac` and change version in the ``AC_INIT`` command
- Create new entry with version as ``%{version}`` tag - Create a new entry with the version as ``%{version}`` tag
6) Test building at least a Redhat and a Ubuntu Package (or create a PR 6. Test building at least a Red Hat and Ubuntu package (or create a PR to have
to have the CI system test them) the CI system test them)
7) Commit the changes (add changelog to commit message) 7. Commit the changes, adding the changelog to the commit message
8) Create Tag for Version: 8. Create a git tag for the version:
.. code-block:: shell .. code-block:: shell
git tag -a frr-5.0 -m "FRRouting Release 5.0" git tag -a frr-5.0 -m "FRRouting Release 5.0"
9) Push commit and Tags and watch for errors on CI 9. Push the commit and tag(s) and watch for errors on CI:
.. code-block:: shell .. code-block:: shell
git push git push
git push --tags git push --tags
10) Kick off the Release build plan on the CI system for the correct release 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`` 11. Send a Release Announcement with changes to
``announce@lists.frrouting.org``
12) Kick off the Snapcraft build plan for the correct release 12. Kick off the Snapcraft build plan for the correct release
13) After CI plans succeed, release on github. 13. After CI plans succeed, release on GitHub by going to
https://github.com/FRRouting/frr/releases and selecting "Draft a new
release".
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)
14) Deploy Snapcraft Release (after CI system finishes the tests for snapcraft testplan)