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

stevel pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hadoop-release-support.git


The following commit(s) were added to refs/heads/main by this push:
     new c73a29a  HADOOP-19483. final release commands
c73a29a is described below

commit c73a29a27955f5a328385ec988480684306076ef
Author: Steve Loughran <ste...@cloudera.com>
AuthorDate: Tue May 13 15:56:40 2025 +0100

    HADOOP-19483. final release commands
    
    new target "3p.release.announcement" to create that
    announcement of a third party release
---
 README.md                          | 15 +++++-----
 build.xml                          | 55 +++++++++++++++++++++++++++++++++---
 doc/thirdparty.md                  | 57 +++++++++++++++++++++++++++++++++++++-
 src/text/3p.email-announcement.txt |  9 ++++++
 4 files changed, 124 insertions(+), 12 deletions(-)

diff --git a/README.md b/README.md
index 37cbbc1..895f6ca 100644
--- a/README.md
+++ b/README.md
@@ -868,7 +868,7 @@ to verify this is visible
 
 ## Declare the projects released in JIRA
 
-Go to JIRA and 
+Go to JIRA and:
 
 1. Update the release JIRA as done; fix version = the release version.
 2. Make sure there is a "next release" entry for that branch in the HADOOP, 
HDFS and YARN projects 
@@ -881,12 +881,6 @@ Release links.
 * 
[HADOOP](https://issues.apache.org/jira/projects/HADOOP?selectedItem=com.atlassian.jira.jira-projects-plugin%3Arelease-page&status=unreleased)
 * 
[HDFS](https://issues.apache.org/jira/projects/HDFS?selectedItem=com.atlassian.jira.jira-projects-plugin%3Arelease-page&status=unreleased)
 * 
[YARN](https://issues.apache.org/jira/projects/YARN?selectedItem=com.atlassian.jira.jira-projects-plugin%3Arelease-page&status=unreleased)
- 
-## Send that email announcement once the artifacts have been propagated to the 
mirror sites.
-
-1. Wait for all the release artifacts to be copied from the apache.org release 
repository to all the mirror sites.
-2. Announce on hadoop-general as well as developer lists.
-
 
 ## tag the final release and push that tag
 
@@ -899,6 +893,13 @@ ant print-tag-command
 
 Use the "tagging the final release" commands printed
 
+
+## Send that email announcement once the artifacts have been propagated to the 
mirror sites.
+
+1. Wait for all the release artifacts to be copied from the apache.org release 
repository to all the mirror sites.
+2. Announce on hadoop-general as well as developer lists.
+
+
 ## clean up your local system
 
 For safety, purge your maven repo of all versions of the release, so
diff --git a/build.xml b/build.xml
index 521b7cb..9c1c220 100644
--- a/build.xml
+++ b/build.xml
@@ -1640,6 +1640,8 @@ ${arm.asc}
 
     <set name="3p.production.commit.msg"
       value="${3p.jira.id}. Releasing Hadoop Thirdparty ${3p.version}" />
+    <set name="3p.jira.url"
+      value="https://issues.apache.org/jira/browse/${3p.jira.id}"; />
 
   </target>
 
@@ -1703,7 +1705,7 @@ ${arm.asc}
       <arg value="-s" />
       <arg value="${3p.tag.name}" />
       <arg value="-m" />
-      <arg value="Release candidate ${3p.rc.name}" />
+      <arg value="${3p.jira.id}. Release candidate ${3p.rc.name}" />
     </git>
     <git dir="${3p.local.repo.path}">
       <arg value="tag" />
@@ -1726,6 +1728,33 @@ ${arm.asc}
     </git>
   </target>
 
+  <!--
+        git tag -s rel/release-${3p.version} -m "${3p.jira.id}. Hadoop 
Thirdparty ${3p.version} release"
+      git push origin rel/release-${3p.version}
+  -->
+
+  <target name="3p.release.git-actions"
+    description="Release action in the soruce tree"
+    depends="3p.init">
+    <property name="3p.release.tag" value="rel/release-${3p.version}"/>
+
+
+    <!-- local tag -->
+    <git dir="${3p.local.repo.path}">
+      <arg value="tag" />
+      <arg value="-s" />
+      <arg value="${3p.release.tag}" />
+      <arg value="-m" />
+      <arg value="${3p.jira.id}. Hadoop Thirdparty ${3p.version} release" />
+    </git>
+    <!-- push to the remote -->
+    <git dir="${3p.local.repo.path}">
+      <arg value="push" />
+      <arg value="origin" />
+      <arg value="${3p.release.tag}" />
+    </git>
+  </target>
+
 
   <target name="3p.vote-message"
     depends="3p.init"
@@ -1839,10 +1868,14 @@ Message is in file ${3p.message.out}
 
      <svn dir="${staging.dir}">
       <arg value="info" />
-      <arg value="${svn.staging.url}" />
+      <arg value="${3p.svn.staging.url}" />
     </svn>
 
-    <echo>Comitting with message ${3p.production.commit.msg}. Please 
wait</echo>
+    <echo>
+      Comitting ${3p.svn.staging.url}
+      to ${3p.svn.production.url}
+      with message "${3p.production.commit.msg}"
+   t</echo>
 
     <svn dir="${staging.dir}">
       <arg value="move" />
@@ -1859,4 +1892,18 @@ Message is in file ${3p.message.out}
   </target>
 
 
-</project>
+  <target name="3p.release.announcement"
+    description="build site announcement"
+    depends="3p.init">
+
+    <loadfile property="3p.email-announcement.txt"
+      srcFile="src/text/3p.email-announcement.txt">
+      <filterchain>
+        <expandproperties/>
+      </filterchain>
+    </loadfile>
+    <property name="3p.email-announcement.out"
+      location="${target}/3p.email-announcement.txt"/>
+
+    <echo>${3p.email-announcement.txt}</echo>
+    <echo 
file="${3p.email-announcement.out}">${3p.email-announcement.txt}</echo></target></project>
diff --git a/doc/thirdparty.md b/doc/thirdparty.md
index 51a8979..c00b3c2 100644
--- a/doc/thirdparty.md
+++ b/doc/thirdparty.md
@@ -75,8 +75,15 @@ All targets are prefixed `3p.`
 Third party artifacts must be staged to the same svn repository as for
 staging full hadoop releases, as set in `staging.dir`
 
-### Tag and push
+### Tag and push RC
 
+This is automated by two targets:
+```bash
+ant 3p.git-tag-source  
+ant 3p.git-tag-push 
+```
+
+If you just want the commands to enter yourself, run the target 
`3p.print-tag-command`
 
 ### Download the Staged RC files from the Apache http servers
 
@@ -109,3 +116,51 @@ If you don't yet trust the key of whoever signed the 
release then
 ```bash
 ant 3p.stage-svn-rollback
 ```
+
+Also, to clean out the maven repository, run the `3p.mvn-purge` target.
+
+## Promoting an RC to be the final release
+
+### Git tag and push
+
+Run
+```bash
+ant 3p.print-tag-command
+```
+This gives you the commands to execute _in the third party jar_
+
+To run the tagging an tag push operations:
+```bash
+ant 3p.release.git-actions
+```
+
+
+### SVN actions
+```bash
+ant 3p.stage-move-to-production
+```
+
+This moves the RC from the staging/ to dist/ directory
+
+### Maven release
+
+Manual: go to [Nexus](https://repository.apache.org/#welcome) and commit it.
+
+### JIRA changes
+
+Manual: see the How To Release Hadoop-Thirdparty wiki page.
+
+## Email announcement
+
+
+Review the template message in `src/text/3p.email-announcement.txt`.
+
+Build the release message
+```ant
+ant 3p.release.announcement
+```
+
+This generates the announcement email in `target/3p.email-announcement.txt`
+
+Copy this and paste in the email sent to add developer lists and hadoop
+general.
diff --git a/src/text/3p.email-announcement.txt 
b/src/text/3p.email-announcement.txt
new file mode 100644
index 0000000..ddf5d3a
--- /dev/null
+++ b/src/text/3p.email-announcement.txt
@@ -0,0 +1,9 @@
+[ANNOUNCE] Apache Hadoop Thirdparty ${3p.version} release
+
+On behalf of the Apache Hadoop Project Management Committee, I am
+pleased to announce the release of Apache Hadoop ${3p.version}.
+
+For the list of changes, see ${3p.jira.url}
+
+Many thanks to everyone who helped in this release.
+


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-commits-h...@hadoop.apache.org

Reply via email to