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 ff7669e HADOOP-19252. hadoop-thirdparty 1.3.0-RC1 ff7669e is described below commit ff7669e03bb6e0b0bfdfc193a69784dfc2e8c2cd Author: Steve Loughran <ste...@cloudera.com> AuthorDate: Tue Aug 20 19:03:36 2024 +0100 HADOOP-19252. hadoop-thirdparty 1.3.0-RC1 added initial targets here --- README.md | 51 ++++++++---- build.xml | 90 ++++++++++++++++++++-- pom.xml | 9 ++- release.properties | 2 +- .../3p-release-1.3.0.properties} | 26 +++---- src/releases/release-info-3.4.1.properties | 12 +-- src/text/3p.vote.txt | 19 +++++ 7 files changed, 165 insertions(+), 44 deletions(-) diff --git a/README.md b/README.md index 967bb7c..374b564 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ the classpath. Installed applications/platforms -* Java 8+. Later releases are valid for validation too. +* Java 8+. Later releases are valid for validation too (and required for some projects) * Apache Ant. * Apache maven * gpg @@ -82,7 +82,7 @@ the classpath. This is an optional property file which contains all user-specific customizations and options to assist in the release process. -This file is *not* SCM-managed. +This file is *not* SCM-managed (it is explicitly ignored). It is read before all other property files are read/ant properties set, so can override any subsequent declarations. @@ -97,7 +97,7 @@ path to the latest release being worked on in this branch. 2. It is read after `build.properties` ```properties -release.version=3.4.0 +release.version=3.4.1 ``` Ant uses this to to set the property `release.info.file` to the path @@ -233,8 +233,9 @@ Update as a appropriate. ### Update `/release.properties` -Update the value of `release.info.file` in `/release.properties` to -point to the newly created file. +Update the value of `release.version in `/release.properties` to +declare the release version. This is used to determine the specific release properties +file for that version. ```properties release.version=X.Y.Z @@ -262,14 +263,13 @@ scp.hadoop.dir=hadoop staging.dir=/Users/stevel/hadoop/release/staging # where various modules live for build and test -spark.dir=/Users/stevel/Projects/sparkwork/spark -cloud-examples.dir=/Users/stevel/Projects/sparkwork/cloud-integration/cloud-examples -cloud.test.configuration.file=/Users/stevel/Projects/config/cloud-test-configs/s3a.xml -bigdata-interop.dir=/Users/stevel/Projects/gcs/bigdata-interop -hboss.dir=/Users/stevel/Projects/hbasework/hbase-filesystem -cloudstore.dir=/Users/stevel/Projects/cloudstore -fs-api-shim.dir=/Users/stevel/Projects/Formats/fs-api-shim/ - +spark.dir=/Users/stevel/dev/spark +cloud-examples.dir=/Users/stevel/dev/sparkwork/cloud-integration/cloud-examples +cloud.test.configuration.file=/Users/stevel/dev/config/test-configs/s3a.xml +bigdata-interop.dir=/Users/stevel/dev/gcs/bigdata-interop +hboss.dir=/Users/stevel/dev/hbasework/hbase-filesystem +cloudstore.dir=/Users/stevel/dev/cloudstore +fs-api-shim.dir=/Users/stevel/dev/Formats/fs-api-shim/ ``` ### Clean up first @@ -561,7 +561,7 @@ pending release version ant mvn-purge ``` -## Execute the maven test. +## Execute a maven test run Download the artifacts from maven staging repositories and compile/test a minimal application @@ -923,6 +923,29 @@ ant stage-svn-rollback ant stage-svn-log ``` +# Releasing Hadoop Third party + +See wiki page [How To Release Hadoop-Thirdparty](https://cwiki.apache.org/confluence/display/HADOOP2/How+To+Release+Hadoop-Thirdparty) + + +Support for this release workflow is pretty minimal, but releasing it is simpler + +* Update the branches and maven artifact versions +* build/test. This can be done with the help of a PR to upgrade hadoop. +* create the vote message. + +## Configuration options + +All options are prefixed `3p.` + +## Targets: + +All targets are prefixed `3p.` + +``` +3p.mvn-purge : remove all third party artifacts from the repo +``` + # Contributing to this module There are lots of opportunities to contribute to the module diff --git a/build.xml b/build.xml index 1c97a33..9b8780e 100644 --- a/build.xml +++ b/build.xml @@ -173,6 +173,12 @@ <setpath name="src.file" location="${release.source.dir}/${release}-src"/> + <!-- maven repository --> + <property name="mvn.repo" + location="${user.home}/.m2/repository"/> + <property name="hadoop.artifacts" + location="${mvn.repo}/org/apache/hadoop"/> + <!-- ARM stuff --> <setpath name="arm.artifact.dir" location="${arm.hadoop.dir}/target/artifacts/" /> <setpath name="arm.dir" location="${downloads.dir}/arm" /> @@ -297,10 +303,6 @@ <!-- Do this to ensure that all builds are from the staging repo artifacts --> <target name="mvn-purge" depends="init" description="purge all artifacts from the local maven repository"> - <property name="mvn.repo" - location="${user.home}/.m2/repository"/> - <property name="hadoop.artifacts" - location="${mvn.repo}/org/apache/hadoop"/> <echo> deleting ${hadoop.artifacts}/**/${hadoop.version}/* @@ -361,9 +363,14 @@ <forbidden artifact="protobuf-java:jar:2.5.0"/> <forbidden artifact="slf4j-log4j12"/> <forbidden artifact="log4j12"/> + <!-- this is ok in :test: and the there's no obvious way to use a regexp in the contains + condition --> + <!-- <forbidden artifact="kerb-simplekdc"/> + --> <!-- not probed for as maven pulls them in from zk, somehow --> <!-- <forbidden artifact="logback-classic"/>--> + <forbidden artifact="logback-classic"/> <!-- <forbidden artifact="logback-core"/>--> </target> @@ -397,7 +404,7 @@ <target name="copy-scp-artifacts" depends="init" - description="copy the downloaded artifacts"> + description="copy the downloaded artifacts from incoming to release dir"> <delete dir="${release.dir}"/> <copy todir="${release.dir}"> <fileset dir="${incoming.dir}/artifacts" includes="*" /> @@ -405,6 +412,7 @@ <echo>copies scp downloaded artifacts to ${release.dir}</echo> </target> + <!-- list whatever is in the release dir --> <target name="release.dir.check" depends="init"> <verify-release-dir /> @@ -423,7 +431,7 @@ <target name="gpg.keys" depends="init" - description="fetch and import GPG keys"> + description="fetch and import GPG keys from apache"> <gpg> <arg value="--fetch-keys"/> <arg value="https://downloads.apache.org/hadoop/common/KEYS"/> @@ -590,6 +598,13 @@ </echo> </target> + <!-- + Create the vote message which is loaded from + "src/text/vote.txt with proerty expension. + + it is saved to target/message.out where it can then be + used to generate the email text + --> <target name="vote-message" depends="init" @@ -1471,4 +1486,67 @@ ${arm.asc} </target> + <!-- Third party release assistance --> + + + <target name="3p.init" + depends="init"> + + <require p="3p.version"/> + <property name="3p.release.info.file" + location="src/releases/3p/3p-release-${3p.version}.properties"/> + <!-- and load the file it references.--> + <loadproperties srcFile="${3p.release.info.file}"/> + + + <set name="3p.release" value="hadoop-thirdparty-${3p.version}"/> + <set name="3p.rc.name" value="${3p.version}-${3p.rc}"/> + <set name="3p.rc.dirname" value="${3p.release}-${3p.rc}"/> + </target> + + + <!-- Cut all hadoop-thirdparty --> + + <target name="3p.mvn-purge" depends="init" + description="purge all local hadoop-thirdparty "> + + + <echo> + deleting all hadoop-thirdparty artifacts + </echo> + <delete dir="${hadoop.artifacts}/hadoop-thirdparty" /> + + </target> + + + <target name="3p.vote-message" + depends="3p.init" + description="build the vote message"> + + <fail unless="3p.git.commit.id"> + Set the git commit number in git.commit.id + </fail> + + <fail unless="asf.staging.url"> + Set the apache staging URL in asf.staging.url + </fail> + + <loadfile property="3p.message.txt" + srcFile="src/text/3p.vote.txt"> + <filterchain> + <expandproperties/> + </filterchain> + </loadfile> + <property name="3p.message.out" + location="${target}/3p.vote.txt"/> + + <echo>${3p.message.txt}</echo> + <echo file="${3p.message.out}">${3p.message.txt}</echo> + <echo> +---------- +Message is in file ${3p.message.out} + </echo> + + </target> + </project> diff --git a/pom.xml b/pom.xml index 5942ae6..9ee9681 100644 --- a/pom.xml +++ b/pom.xml @@ -300,12 +300,19 @@ </profile> <profile> - <id>3.4</id> + <id>3.4.0</id> <properties> <hadoop.version>3.4.0</hadoop.version> </properties> </profile> + <profile> + <id>branch-3.4</id> + <properties> + <hadoop.version>3.4.1</hadoop.version> + </properties> + </profile> + <profile> <id>trunk</id> <properties> diff --git a/release.properties b/release.properties index 3c492f7..9e051a9 100644 --- a/release.properties +++ b/release.properties @@ -15,4 +15,4 @@ # limitations under the License. # Version of the git-managed release info file -release.version=3.4.0 +release.version=3.4.1 diff --git a/src/releases/release-info-3.4.1.properties b/src/releases/3p/3p-release-1.3.0.properties similarity index 60% copy from src/releases/release-info-3.4.1.properties copy to src/releases/3p/3p-release-1.3.0.properties index 463b063..e55f326 100644 --- a/src/releases/release-info-3.4.1.properties +++ b/src/releases/3p/3p-release-1.3.0.properties @@ -14,20 +14,14 @@ # See the License for the specific language governing permissions and # limitations under the License. -# property file for 3.4.1 -hadoop.version=3.4.1-SNAPSHOT -rc=RC0 -previous.version=3.4.0 -release.branch=3.4 -git.commit.id=branch-3.4 - -jira.id=HADOOP-19087 -jira.title=Release 3.4.1 - -amd.src.dir=https://dist.apache.org/repos/dist/dev/hadoop/hadoop-3.4.0-RC2 -arm.src.dir=${amd.src.dir} -http.source=${amd.src.dir} -asf.staging.url=https://repository.apache.org/content/repositories/orgapachehadoop-1402 - -cloudstore.profile=sdk2 +# Release Info for thirdparty-1.3.0 +#3p.version=1.3.0 +3p.rc=RC1 +3p.branch=https://github.com/apache/hadoop-thirdparty/commits/release-1.3.0-RC1 +3p.git.commit.id=0fd62903b071b5186f31b7030ce42e1c00f6bb6a +3p.jira.id=HADOOP-19252 +3p.nexus.staging.url=https://repository.apache.org/content/repositories/orgapachehadoop-1420 +3p.src.dir=https://dist.apache.org/repos/dist/dev/hadoop/hadoop-thirdparty-1.3.0-RC1 +3p.staging.url=https://dist.apache.org/repos/dist/dev/hadoop/hadoop-thirdparty-1.3.0-RC1 +3p.tag.name=release-1.3.0-RC1 diff --git a/src/releases/release-info-3.4.1.properties b/src/releases/release-info-3.4.1.properties index 463b063..06f6510 100644 --- a/src/releases/release-info-3.4.1.properties +++ b/src/releases/release-info-3.4.1.properties @@ -15,19 +15,19 @@ # limitations under the License. # property file for 3.4.1 -hadoop.version=3.4.1-SNAPSHOT -rc=RC0 +hadoop.version=3.4.1 +rc=RC1 previous.version=3.4.0 -release.branch=3.4 -git.commit.id=branch-3.4 +release.branch=3.4.1 +git.commit.id=247daf0f827adc96a3847bb40e0fec3fc85f33bd jira.id=HADOOP-19087 jira.title=Release 3.4.1 -amd.src.dir=https://dist.apache.org/repos/dist/dev/hadoop/hadoop-3.4.0-RC2 +amd.src.dir=https://dist.apache.org/repos/dist/dev/hadoop/hadoop-3.4.1-RC1 arm.src.dir=${amd.src.dir} http.source=${amd.src.dir} -asf.staging.url=https://repository.apache.org/content/repositories/orgapachehadoop-1402 +asf.staging.url=https://repository.apache.org/content/repositories/orgapachehadoop-1417 cloudstore.profile=sdk2 diff --git a/src/text/3p.vote.txt b/src/text/3p.vote.txt new file mode 100644 index 0000000..91807c9 --- /dev/null +++ b/src/text/3p.vote.txt @@ -0,0 +1,19 @@ +[VOTE] Release Apache Hadoop Thirdparty ${3p.version} + +Apache Hadoop-Thirdparty ${3p.version} + +I have built a release candidate (${3p.rc}) for Hadoop-Thirdparty ${3p.version}. + +The RC is available at: +${3p.staging.url}/ + +The git tag is ${3p.tag.name}, commit ${3p.git.commit.id} + +The maven artifacts are staged at +${3p.nexus.staging.url} + +Please try the release and vote. The vote will run for 5 days. + +Here is vote: + ++1 (binding) \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org