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

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


The following commit(s) were added to refs/heads/master by this push:
     new b461694923 Add ASF release targets (#11672)
b461694923 is described below

commit b4616949232f74871b329e1e6979018a79ac41ab
Author: Chris McFarlen <[email protected]>
AuthorDate: Wed Aug 14 09:58:00 2024 -0500

    Add ASF release targets (#11672)
---
 CMakeLists.txt | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 66 insertions(+)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index b9d37775d2..9d395bc6c8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -838,6 +838,72 @@ 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 /tmp/asf-dist && mkdir /tmp/asf-dist
+  COMMAND git archive --format=tar HEAD | tar --delete ci | tar -C 
/tmp/asf-dist -xf -
+  COMMAND grep -v img.shields.io /tmp/asf-dist/README.md > 
/tmp/asf-dist/README.md.clean
+  COMMAND mv /tmp/asf-dist/README.md.clean /tmp/asf-dist/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 sha512sum -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 sha512sum -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:")

Reply via email to