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:
[email protected]
With regards,
Apache Git Services