summaryrefslogtreecommitdiffstats
path: root/Help/dev
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2019-07-26 16:31:05 (GMT)
committerBrad King <brad.king@kitware.com>2019-07-26 18:34:09 (GMT)
commit4542ec239a3ff46d133267b5492ae4c64d163844 (patch)
tree92505c303f324ad21d1a9072660c5a13b099041c /Help/dev
parent8ce189720ee8daafed4848ee9eb970f9e0546578 (diff)
downloadCMake-4542ec239a3ff46d133267b5492ae4c64d163844.zip
CMake-4542ec239a3ff46d133267b5492ae4c64d163844.tar.gz
CMake-4542ec239a3ff46d133267b5492ae4c64d163844.tar.bz2
Help/dev: Add release commit instructions to maintainer guide
Diffstat (limited to 'Help/dev')
-rw-r--r--Help/dev/maint.rst39
1 files changed, 39 insertions, 0 deletions
diff --git a/Help/dev/maint.rst b/Help/dev/maint.rst
index 75a1d68..37a1d3a 100644
--- a/Help/dev/maint.rst
+++ b/Help/dev/maint.rst
@@ -92,6 +92,45 @@ Publish both ``master`` and ``release`` simultaneously:
.. _`CMake Review Process`: review.rst
.. _`CMake CDash Page`: https://open.cdash.org/index.php?project=CMake
+Create Release Version
+======================
+
+When the ``release`` branch is ready to create a new release, follow the
+steps in the above `Maintain Current Release`_ section to checkout a local
+``release-$ver`` branch, where ``$ver`` is the version number of the
+current release in the form ``$major.$minor``.
+
+Edit ``Source/CMakeVersion.cmake`` to set the full version:
+
+.. code-block:: cmake
+
+ # CMake version number components.
+ set(CMake_VERSION_MAJOR $major)
+ set(CMake_VERSION_MINOR $minor)
+ set(CMake_VERSION_PATCH $patch)
+ #set(CMake_VERSION_RC $rc) # uncomment for release candidates
+
+In the following we use the placeholder ``$fullver`` for the full version
+number of the new release with the form ``$major.$minor.$patch[-rc$rc]``.
+If the version is not a release candidate, comment out the RC version
+component above and leave off the ``-rc$rc`` suffix from ``$fullver``.
+
+Commit the release version with the **exact** message ``CMake $fullver``:
+
+.. code-block:: shell
+
+ git commit -m "CMake $fullver"
+
+Tag the release using an annotated tag with the same message as the
+commit and named with the **exact** form ``v$fullver``:
+
+.. code-block:: shell
+
+ git tag -s -m "CMake $fullver" "v$fullver"
+
+Follow the steps in the above `Maintain Current Release`_ section to
+merge the ``release-$ver`` branch into ``master`` and publish both.
+
Branch a New Release
====================