You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@samza.apache.org by sh...@apache.org on 2019/03/26 01:58:50 UTC

[samza] branch master updated: SAMZA-2147: Improve the documentation of the samza release process. (#974)

This is an automated email from the ASF dual-hosted git repository.

shanthoosh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/samza.git


The following commit(s) were added to refs/heads/master by this push:
     new a74b500  SAMZA-2147: Improve the documentation of the samza release process. (#974)
a74b500 is described below

commit a74b500d3c1d28a55c596aa813866d8415b8a2b4
Author: shanthoosh <sv...@linkedin.com>
AuthorDate: Mon Mar 25 18:58:45 2019 -0700

    SAMZA-2147: Improve the documentation of the samza release process. (#974)
    
    * Improve thedocumentation of the samza release process.
---
 RELEASE.md | 68 ++++++++++++++++++++++++++++++++++++++++++++------------------
 1 file changed, 49 insertions(+), 19 deletions(-)

diff --git a/RELEASE.md b/RELEASE.md
index 7ecb5f9..65ab810 100644
--- a/RELEASE.md
+++ b/RELEASE.md
@@ -22,55 +22,72 @@ 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
@@ -78,22 +95,29 @@ Upload the build artifacts to your Apache home directory:
     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):
 
-    signing.keyId=01234567                          # Your GPG key ID, as 8 hex digits
-    signing.secretKeyRingFile=/path/to/secring.gpg  # Normally in $HOME/.gnupg/secring.gpg
-    signing.password=YourSuperSecretPassphrase      # Plaintext passphrase to decrypt key
-    nexusUsername=yourname                          # Your username on Apache's LDAP
-    nexusPassword=password                          # Your password on Apache's LDAP
+   ```bash
+     signing.keyId=01234567                          # Your GPG key ID, as 8 hex digits
+     signing.secretKeyRingFile=/path/to/secring.gpg  # Normally in $HOME/.gnupg/secring.gpg
+     signing.password=YourSuperSecretPassphrase      # Plaintext passphrase to decrypt key
+     nexusUsername=yourname                          # Your username on Apache's LDAP
+     nexusPassword=password                          # Your password on Apache's LDAP
+   ```
 
 Putting your passwords there in plaintext is unfortunately unavoidable. The
 [nexus plugin](https://github.com/bmuschko/gradle-nexus-plugin) supports asking
@@ -103,10 +127,12 @@ from reading keyboard input (because we need `org.gradle.jvmargs` set).
 
 Build binary artifacts and upload them to the staging repository:
 
+   ```bash
     # Set this to the oldest JDK which we are currently supporting for Samza.
     # If it's built with Java 8, the classes won't be readable by Java 7.
     export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home
     ./gradlew clean uploadArchives
+   ```
 
 Go to [repository web interface](https://repository.apache.org/), log in with
 Apache LDAP credentials, go to "Staging Repositories", select the org.apache.samza
@@ -114,37 +140,41 @@ repository just created, and close it. This may take a minute or so. When it
 finishes, the UI shows a staging repository URL. This can be used in a project
 that depends on Samza, to test the release candidate.
 
-
-If the VOTE has successfully passed on the release candidate, you can log in to the 
-[repository web interface](https://repository.apache.org) (same as above) and "release" 
-the org.apache.samza repository listed under "Staging Repositories".
-
 The instructions above publish the Samza artifacts for scala 2.11. To publish for scala 2.12:
 
 * Set the desired `scalaSuffix` in `gradle.properties`.
 * Run `./gradlew clean uploadArchives` to generate and upload the Samza artifacts.
-* Login to the [repository web interface](https://repository.apache.org/) with your Apache LDAP 
-credentials, "close" the created repository and "release" it.
+
+# After the VOTE has passed
+
+If the VOTE has successfully passed on the release candidate, you can log in to the  [repository web interface](https://repository.apache.org) (same as above) and "release"  the org.apache.samza repository listed under "Staging Repositories". This may take a minute or so.
+This will publish the samza release artifacts to the open source [maven repository](https://repo1.maven.org/maven2).
 
 ## Steps to Upload Source Tarball to Apache SVN
 
 Check out the following Apache dist SVN to local:
 
+```bash
    svn checkout https://dist.apache.org/repos/dist/release/samza samza-dist
+```
 
 Create the new version's sub-directory and add the source tarball, MD5, and asc files from the 
 previous step to the new directory:
 
+   ```bash
    cd samza-dist
    mkdir $VERSION
    cp ${SAMZA_SRC_ROOT}/build/distribution/source/apache-samza-$VERSION-src.tgz $VERSION
    cp ${SAMZA_SRC_ROOT}/build/distribution/source/apache-samza-$VERSION-src.tgz.MD5 $VERSION
    cp ${SAMZA_SRC_ROOT}/build/distribution/source/apache-samza-$VERSION-src.tgz.asc $VERSION
    svn add $VERSION
+   ```
 
 Commit to Apache release SVN
 
+```bash
    svn ci -m "Releasing Apache Samza $VERSION Source Tarballs"
+```
 
 Check the download link [here](http://www-us.apache.org/dist/samza/) to make sure that the mirror
 site has picked up the new release. The third-party mirrors may take upto 24 hours to pick-up the release.