dxichen commented on a change in pull request #974: SAMZA-2147: Improve the documentation of the samza release process. URL: https://github.com/apache/samza/pull/974#discussion_r268911624
########## File path: RELEASE.md ########## @@ -22,78 +22,102 @@ Before you start, here are a few prerequisite steps that would be useful later: And before you proceed, do the following steps: - * create a branch $VERSION from the latest master branch - * checkout the $VERSION branch - * update the gradle.properties s.t. the following property is $VERSION w/o the suffix '-SNAPSHOT': + * Create a branch $VERSION from the latest master branch. + * Checkout the $VERSION branch. + * Update the gradle.properties s.t. the following property is $VERSION w/o the suffix '-SNAPSHOT': version=$VERSION - * change the samza_executable variable in samza-test/src/main/python/configs/tests.json to $VERSION w/o the suffix '-SNAPSHOT'. - * change the samza-test versions in samza-test/src/main/config/join/README to $VERSION w/o the suffix '-SNAPSHOT'. - * change the executable version in samza-test/src/main/python/stream_processor.py to $VERSION w/o the suffix '-SNAPSHOT'. - * push the changes to the $VERSION branch + * Change the samza_executable variable in samza-test/src/main/python/configs/tests.json to $VERSION w/o the suffix '-SNAPSHOT'. + * Change the samza-test versions in samza-test/src/main/config/join/README to $VERSION w/o the suffix '-SNAPSHOT'. + * Change the executable version in samza-test/src/main/python/stream_processor.py to $VERSION w/o the suffix '-SNAPSHOT'. + * Push the changes to the $VERSION branch Validate Samza using all our supported build matrix. +```bash ./bin/check-all.sh +``` To release to a local Maven repository: +```bash ./gradlew clean publishToMavenLocal +``` To build a tarball suitable for an ASF source release (and its accompanying MD5 file): First, clean any non-checked-in files from git (this removes all such files without prompting): +```bash git clean -fdx +``` Alternatively, you can make a fresh clone of the repository to a separate directory: +```bash git clone http://git-wip-us.apache.org/repos/asf/samza.git samza-release cd samza-release +``` Then build the source and samza-tools tarballs: +```bash ./gradlew clean sourceRelease && ./gradlew releaseToolsTarGz +``` Then sign them: + ```bash gpg --sign --armor --detach-sig ./build/distribution/source/apache-samza-*.tgz gpg --sign --armor --detach-sig ./samza-tools/build/distributions/samza-tools-*.tgz + ``` Create MD5 signatures: + ```bash gpg --print-md MD5 ./build/distribution/source/apache-samza-*.tgz > ./build/distribution/source/apache-samza-*.tgz.md5 gpg --print-md MD5 ./samza-tools/build/distributions/samza-tools-*.tgz > ./samza-tools/build/distributions/samza-tools-*.tgz.md5 + ``` Create SHA1 signatures: + ```bash gpg --print-md SHA1 ./build/distribution/source/apache-samza-*.tgz > ./build/distribution/source/apache-samza-*.tgz.sha1 gpg --print-md SHA1 ./samza-tools/build/distributions/samza-tools-*.tgz > ./samza-tools/build/distributions/samza-tools-*.tgz.sha1 + ``` Upload the build artifacts to your Apache home directory: + ```bash sftp <apache-username>@home.apache.org cd public_html mkdir samza-$VERSION-rc0 cd samza-$VERSION-rc0 put ./build/distribution/source/apache-samza-$VERSION-src.* . put ./samza-tools/build/distributions/samza-tools-$VERSION.* . bye + ``` Make a signed git tag for the release candidate: +```bash git tag -s release-$VERSION-rc0 -m "Apache Samza $VERSION release candidate 0" +``` Push the release tag to remote repository: +```bash git push origin release-$VERSION-rc0 +``` Edit `$HOME/.gradle/gradle.properties` and add your GPG key information (without the comments): Review comment: can you add a note to remove all trailing whitespace too? ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services