THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
- git checkout ${RELEASE_BRANCH}
- Run mvn version to set the proper rc number in all artifacts
- mvn versions:set -DnewVersion=${RELEASE_VERSION}-incubating-rc${RC_NUM}
- Run Unit tests mvn test -DskipITs=true and ensure they succeed
- Run Integration Tests mvn verify -DskipUTs=true and ensure they succeed
- Commit and push this change to RELEASE branch
- git commit -am “Bumping release candidate number ${RC_NUM}”
- git push origin ${RELEASE_BRANCH}
- Generate Source Release:
- This will create the tarball under hudi/src_release directory
- cd hudi/src_release
- gpg --verify hudi-${RELEASE_VERSION}-incubating-rc${RC_NUM}.src.tgz.asc hudi-${RELEASE_VERSION}-incubating-rc${RC_NUM}.src.tgz
- You should verify that the signature is good
- tar -zxvf hudi-${RELEASE_VERSION}-incubating-rc${RC_NUM}.src.tgz && cd hudi-${RELEASE_VERSION}-incubating-rc${RC_NUM} && mvn clean package -DskipTests
- If they pass, delete the repository we got from the tar-ball
- cd ../ && rm -rf hudi-${RELEASE_VERSION}-incubating-rc${RC_NUM}
- git checkout ${RELEASE_BRANCH}
- Run cd scripts && ./release/create_source_release.sh
- Verify Source release is signed and buildable
- Create tag
- git tag -s ${RELEASE_VERSION}-incubating-rc${RC_NUM} "${RELEASE_VERSION}"
- git push origin ${RELEASE_VERSION}-incubating-rc${RC_NUM} if apache repo is origin.
- Deploy maven artifacts and verify
- This will deploy jar artifacts to the Apache Nexus Repository, which is the staging area for deploying jars to Maven Central.
- Review all staged artifacts (https://repository.apache.org/). They should contain all relevant parts for each module, including pom.xml, jar, test jar, source, test source, javadoc, etc. Carefully review any new artifacts.
- git checkout ${RELEASE_BRANCH}
- cd scripts && ./release/deploy_staging_jars.sh --scala_version=2.11. This will deploy 2.11 artifacts to repository.apache.org
- cd ../dev && ./change-scala-version.sh 2.12 && cd ../scripts && ./release/deploy_staging_jars.sh --scala_version=2.12. This will deploy 2.12 artifacts to repository.apache.org. It may work in macOS, If you encountered gpg plugin error during deploy, please follow the steps below
- cd ../dev && ./change-scala-version.sh 2.12
rm -rf ../src_release && cd ../scripts && ./release/create_source_release.sh, the main diffence here is to remove src_release dir created before, and run create_source_release.sh to generate the src_release dir again.
- ./release/deploy_staging_jars.sh --scala_version=2.12 . This will deploy 2.12 artifacts to repository.apache.org
- Review all staged artifacts to ensure it contains both 2.11 and 2.12 artifacts, mainly hudi-spark-bundle-2.11/2.12, hudi-spark-2.11/2.12, hudi-utilities-bundle_2.11/2.12 and hudi-utilities_2.11/2.12.
- git checkout ${RELEASE_BRANCH}
- cd scripts && ./release/deploy_staging_jars.sh
- Close the staging repository on Apache Nexus. When prompted for a description, enter “Apache Hudi (incubating), version ${RELEASE_VERSION}-incubating, release candidate ${RC_NUM}”.
- Stage source releases on dist.apache.org
- If you have not already, check out the Hudi section of the dev incubator repository on dist.apache.org via Subversion. In a fresh directory
- svn checkout https://dist.apache.org/repos/dist/dev/incubator/hudi --depth=immediates, if you would not checkout, please try svn checkout https://dist.apache.org/repos/dist/dev/incubator/hudi again.
- Make a directory for the new release:
- mkdir hudi/hudi-${RELEASE_VERSION}-incubating-rc${RC_NUM}
- Copy Hudi source distributions, hashes, and GPG signature:
- mv <hudi-dir>/src_release/* hudi/hudi-${RELEASE_VERSION}-incubating-rc${RC_NUM}
- Add and commit all the files.
- cd hudi
- svn add hudi-${RELEASE_VERSION}-incubating-rc${RC_NUM}
- svn commit
- Verify that files are present
- Run Verification Script to ensure the source release is sane
- cd scripts && ./release/validate_staged_release.sh --release=${RELEASE_VERSION} --rc_num=${RC_NUM} --verbose
...