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