This is an automated email from the ASF dual-hosted git repository.

cmcfarlen pushed a commit to branch 10.0.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git

commit de186925871d5f4b43f8e3216eab5512f6388c46
Author: Chris McFarlen <[email protected]>
AuthorDate: Thu Aug 15 16:37:45 2024 -0500

    Update release docs (#11682)
    
    * Update release docs for cmake. Make release targets more portable
    
    * adjust for new branch policy
    
    * Fix syntax error
    
    ---------
    
    Co-authored-by: Chris McFarlen <[email protected]>
    (cherry picked from commit 652ad71469c3b2e18f3362fa5b6b7f242c0b74f6)
---
 CMakeLists.txt                                   | 67 ++++++++++++++++++++++++
 doc/developer-guide/release-process/index.en.rst | 31 +++--------
 2 files changed, 75 insertions(+), 23 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 48a3e00a0c..10208e5862 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -821,6 +821,73 @@ configure_file(Findtsapi.cmake.in Findtsapi.cmake @ONLY)
 install(FILES "${PROJECT_BINARY_DIR}/ts.pc" DESTINATION 
${CMAKE_INSTALL_LIBDIR}/pkgconfig)
 install(FILES "${PROJECT_BINARY_DIR}/Findtsapi.cmake" DESTINATION 
${CMAKE_INSTALL_LIBDIR}/cmake)
 
+# Release Targets
+set(DISTTMP /tmp/asf-dist)
+set(DISTFILENAME trafficserver-${TS_VERSION_STRING})
+
+add_custom_target(
+  asf-distdir
+  COMMENT "Create distribution tarball for ASF"
+  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+  COMMAND rm -rf ${DISTTMP} && mkdir /tmp/asf-dist
+  COMMAND git archive --format=tar HEAD | tar -C ${DISTTMP} -xf -
+  COMMAND rm -rf ${DISTTMP}/ci
+  COMMAND grep -v img.shields.io ${DISTTMP}/README.md > 
${DISTTMP}/README.md.clean
+  COMMAND mv ${DISTTMP}/README.md.clean ${DISTTMP}/README.md
+)
+
+add_custom_target(
+  asf-dist
+  COMMENT "Create distribution tarball for ASF release"
+  DEPENDS asf-distdir
+  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+  COMMAND tar -C ${DISTTMP} -c . | bzip2 -9 -c > ${DISTFILENAME}.tar.bz2
+  COMMAND rm -rf ${DISTTMP}
+)
+
+add_custom_target(
+  asf-dist-rc
+  COMMENT "Create distribution tarball for ASF release candidate"
+  DEPENDS asf-distdir
+  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+  COMMAND tar -C ${DISTTMP} -c . | bzip2 -9 -c > 
${DISTFILENAME}-rc$ENV{RC}.tar.bz2
+  COMMAND rm -rf ${DISTTMP}
+)
+
+add_custom_target(
+  asf-dist-sign
+  COMMENT "Create and sign distribution tarball for ASF release"
+  DEPENDS asf-dist
+  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+  COMMAND shasum -a512 -b ${DISTFILENAME}.tar.bz2 > 
${DISTFILENAME}.tar.bz2.sha512
+  COMMAND gpg --armor --output ${DISTFILENAME}.tar.bz2.asc --detach-sig 
${DISTFILENAME}.tar.bz2
+)
+
+add_custom_target(
+  asf-dist-sign-rc
+  COMMENT "Create and sign distribution tarball for ASF release candidate"
+  DEPENDS asf-dist-rc
+  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+  COMMAND shasum -a512 -b ${DISTFILENAME}-rc$ENV{RC}.tar.bz2 > 
${DISTFILENAME}-rc$ENV{RC}.tar.bz2.sha512
+  COMMAND gpg --armor --output ${DISTFILENAME}-rc$ENV{RC}.tar.bz2.asc 
--detach-sig ${DISTFILENAME}-rc$ENV{RC}.tar.bz2
+)
+
+add_custom_target(
+  release
+  COMMENT "Create release"
+  DEPENDS asf-dist-sign
+  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+  COMMAND git tag -fs -m "Release ${TS_VERSION_STRING}" ${TS_VERSION_STRING}
+)
+
+add_custom_target(
+  rel-candidate
+  COMMENT "Create release candidate"
+  DEPENDS asf-dist-sign-rc
+  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+  COMMAND git tag -fs -m "Release Candidate ${TS_VERSION_STRING}-rc$ENV{RC}" 
${TS_VERSION_STRING}-rc$ENV{RC}
+)
+
 # Display build summary
 include(CMakePrintHelpers)
 message(STATUS "Build Summary:")
diff --git a/doc/developer-guide/release-process/index.en.rst 
b/doc/developer-guide/release-process/index.en.rst
index 83eb950d29..50b9694f04 100644
--- a/doc/developer-guide/release-process/index.en.rst
+++ b/doc/developer-guide/release-process/index.en.rst
@@ -66,19 +66,14 @@ Build
 
 #. Go to the top level source directory.
 
-#. Check the version in ``configure.ac``. There are two values near the top 
that
-   need to be set, ``TS_VERSION_S`` and ``TS_VERSION_N``. These are the release
-   version number in different encodings.
+#. Check the version in ``CMakeLists.txt``. There is a ``project`` line near 
the
+   top with the version number.  Make sure that is correct for the release.
 
-#. Check the variable ``RC`` in the top level ``Makefile.am``. This should be
-   the point release value. This needs to be changed for every release
-   candidate. The first release candidate is ``0`` (zero).
+#. Execute the following commands to make the distribution files where A is the
+   next release candidate number (start with 0). ::
 
-#. Execute the following commands to make the distribution files. ::
-
-      autoreconf -i
-      ./configure
-      make rel-candidate
+      cmake --preset release
+      RC=A cmake --build build-release -t rel-candidate
 
 These steps will create the distribution files and sign them using your key.
 Expect to be prompted twice for your passphrase unless you use an ssh key 
agent.
@@ -112,17 +107,11 @@ Official Release
 
 Build the distribution files with the command ::
 
-   make release
+   cmake --build build-release -t release
 
 Be sure to not have changed anything since the release candidate was built so
 the checksums are identical. This will create a signed git tag of the form
-``X.Y.Z`` and produce the distribution files. Push the tag to the ASF 
repository
-with the command ::
-
-   git push origin X.Y.Z
-
-This presumes ``origin`` is the name for the ASF remote repository which is
-correct if you originally clone from the ASF repository.
+``X.Y.Z`` and produce the distribution files.
 
 The distribution files must be added to an SVN repository. This can be accessed
 with the command::
@@ -168,7 +157,3 @@ Finally, update various files after the release:
 
 * The ``CHANGES`` file to have a header for the next version.
 
-* ``configure.ac`` to be set to the next version.
-
-* In the top level ``Makefile.am`` change ``RC`` to have the value ``0``.
-

Reply via email to