You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by lh...@apache.org on 2023/12/21 08:20:58 UTC

(pulsar-helm-chart) branch master updated: Improve clarity of release instructions

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

lhotari pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar-helm-chart.git


The following commit(s) were added to refs/heads/master by this push:
     new 99380d9  Improve clarity of release instructions
99380d9 is described below

commit 99380d98d5a39e7a0368fc1a8e4310ea5db85d2e
Author: Lari Hotari <lh...@apache.org>
AuthorDate: Thu Dec 21 10:19:54 2023 +0200

    Improve clarity of release instructions
    
    - use VERSION_RC and VERSION_WITHOUT_RC that are consistent across
      the instructions
---
 RELEASE.md | 95 ++++++++++++++++++++++++++++----------------------------------
 1 file changed, 43 insertions(+), 52 deletions(-)

diff --git a/RELEASE.md b/RELEASE.md
index a75387b..17dadf0 100644
--- a/RELEASE.md
+++ b/RELEASE.md
@@ -42,8 +42,8 @@ official Apache releases must not include the rcN suffix.
 
     ```shell
     # Set Version
-    export VERSION=3.0.0-candidate-1
-    export VERSION_WITHOUT_RC=${VERSION%-candidate-*}
+    export VERSION_RC=3.0.0-candidate-1
+    export VERSION_WITHOUT_RC=${VERSION_RC%-candidate-*}
 
     # Clone and set PULSAR_REPO_ROOT
     git clone https://github.com/apache/pulsar-helm-chart.git pulsar
@@ -78,7 +78,7 @@ official Apache releases must not include the rcN suffix.
 - Tag your release
 
     ```shell
-    git tag -s pulsar-${VERSION} -m "Apache Pulsar Helm Chart $VERSION"
+    git tag -s pulsar-${VERSION_RC} -m "Apache Pulsar Helm Chart $VERSION_RC"
     ```
 
 - Tarball the repo
@@ -87,7 +87,7 @@ official Apache releases must not include the rcN suffix.
      in the file produced.
 
     ```shell
-    git archive --format=tar.gz pulsar-${VERSION} --prefix=pulsar-chart-${VERSION_WITHOUT_RC}/ \
+    git archive --format=tar.gz pulsar-${VERSION_RC} --prefix=pulsar-chart-${VERSION_WITHOUT_RC}/ \
         -o pulsar-chart-${VERSION_WITHOUT_RC}-source.tar.gz .
     ```
 
@@ -137,14 +137,14 @@ official Apache releases must not include the rcN suffix.
   ```shell
   APACHE_USER=<your ASF userid>
   # Create new folder for the release
-  svn mkdir --username $APACHE_USER -m "Add directory for pulsar-helm-chart $VERSION release" https://dist.apache.org/repos/dist/dev/pulsar/helm-chart/$VERSION
+  svn mkdir --username $APACHE_USER -m "Add directory for pulsar-helm-chart $VERSION_RC release" https://dist.apache.org/repos/dist/dev/pulsar/helm-chart/$VERSION_RC
   # checkout the directory
-  svn co --username $APACHE_USER https://dist.apache.org/repos/dist/dev/pulsar/helm-chart/$VERSION helm-chart-$VERSION
+  svn co --username $APACHE_USER https://dist.apache.org/repos/dist/dev/pulsar/helm-chart/$VERSION_RC helm-chart-$VERSION_RC
 
   # Move the artifacts to svn folder
-  mv ${PULSAR_REPO_ROOT}/pulsar-${VERSION_WITHOUT_RC}.tgz* helm-chart-${VERSION}/
-  mv ${PULSAR_REPO_ROOT}/pulsar-chart-${VERSION_WITHOUT_RC}-source.tar.gz* helm-chart-${VERSION}/
-  cd helm-chart-${VERSION}/
+  mv ${PULSAR_REPO_ROOT}/pulsar-${VERSION_WITHOUT_RC}.tgz* helm-chart-${VERSION_RC}/
+  mv ${PULSAR_REPO_ROOT}/pulsar-chart-${VERSION_WITHOUT_RC}-source.tar.gz* helm-chart-${VERSION_RC}/
+  cd helm-chart-${VERSION_RC}/
 
   ###### Generate index.yaml file - Start
   # Download the latest index.yaml on Pulsar Website
@@ -155,27 +155,27 @@ official Apache releases must not include the rcN suffix.
   sed -i 's|https://downloads.apache.org/pulsar/helm-chart/|https://archive.apache.org/dist/pulsar/helm-chart/|' index.yaml
 
   # Generate / Merge the new version with existing index.yaml
-  helm repo index --merge ./index.yaml . --url "https://dist.apache.org/repos/dist/dev/pulsar/helm-chart/${VERSION}"
+  helm repo index --merge ./index.yaml . --url "https://dist.apache.org/repos/dist/dev/pulsar/helm-chart/${VERSION_RC}"
 
   ###### Generate index.yaml file - End
 
   # Commit the artifacts
   svn add *
-  svn commit -m "Add artifacts for Helm Chart ${VERSION}"
+  svn commit -m "Add artifacts for Helm Chart ${VERSION_RC}"
   ```
 
 - Remove old Helm Chart versions from the dev repo
 
   ```shell
-  export PREVIOUS_VERSION=3.0.0-candidate-1
-  svn rm --username $APACHE_USER -m "Remove old Helm Chart release: ${PREVIOUS_VERSION}" https://dist.apache.org/repos/dist/dev/pulsar/helm-chart/${PREVIOUS_VERSION}
+  export PREVIOUS_VERSION_RC=3.0.0-candidate-1
+  svn rm --username $APACHE_USER -m "Remove old Helm Chart release: ${PREVIOUS_VERSION_RC}" https://dist.apache.org/repos/dist/dev/pulsar/helm-chart/${PREVIOUS_VERSION_RC}
   ```
 
 - Push Tag for the release candidate
 
   ```shell
   cd ${PULSAR_REPO_ROOT}
-  git push upstream tag pulsar-${VERSION}
+  git push upstream tag pulsar-${VERSION_RC}
   ```
 
 ## Prepare Vote email on the Apache Pulsar release candidate
@@ -186,7 +186,7 @@ Subject:
 
 ```shell
 cat <<EOF
-[VOTE] Release Apache Pulsar Helm Chart ${VERSION_WITHOUT_RC} based on ${VERSION}
+[VOTE] Release Apache Pulsar Helm Chart ${VERSION_WITHOUT_RC} based on ${VERSION_RC}
 EOF
 ```
 
@@ -199,7 +199,7 @@ Hello Apache Pulsar Community,
 This is a call for the vote to release the Apache Pulsar Helm Chart version ${VERSION_WITHOUT_RC}.
 
 The release candidate is available at:
-https://dist.apache.org/repos/dist/dev/pulsar/helm-chart/$VERSION/
+https://dist.apache.org/repos/dist/dev/pulsar/helm-chart/$VERSION_RC/
 
 pulsar-chart-${VERSION_WITHOUT_RC}-source.tar.gz - is the "main source release".
 pulsar-${VERSION_WITHOUT_RC}.tgz - is the binary Helm Chart release.
@@ -208,7 +208,7 @@ Public keys are available at: https://www.apache.org/dist/pulsar/KEYS
 
 For convenience "index.yaml" has been uploaded (though excluded from voting), so you can also run the below commands.
 
-helm repo add apache-pulsar-dist-dev https://dist.apache.org/repos/dist/dev/pulsar/helm-chart/$VERSION/
+helm repo add apache-pulsar-dist-dev https://dist.apache.org/repos/dist/dev/pulsar/helm-chart/$VERSION_RC/
 helm repo update
 helm install pulsar apache-pulsar-dist-dev/pulsar --set affinity.anti_affinity=false
 
@@ -367,8 +367,8 @@ Checking pulsar-chart-1.0.0-source.tar.gz.sha512
 Contributors can run below commands to test the Helm Chart
 
 ```shell
-export VERSION=3.0.0-candidate-1
-helm repo add apache-pulsar-dist-dev https://dist.apache.org/repos/dist/dev/pulsar/helm-chart/${VERSION}/
+export VERSION_RC=3.0.0-candidate-1
+helm repo add apache-pulsar-dist-dev https://dist.apache.org/repos/dist/dev/pulsar/helm-chart/${VERSION_RC}/
 helm repo update
 helm install pulsar apache-pulsar-dist-dev/pulsar --set affinity.anti_affinity=false
 ```
@@ -386,7 +386,7 @@ Subject:
 
 ```shell
 cat <<EOF
-[RESULT][VOTE] Release Apache Pulsar Helm Chart ${VERSION_WITHOUT_RC} based on ${VERSION}
+[RESULT][VOTE] Release Apache Pulsar Helm Chart ${VERSION_WITHOUT_RC} based on ${VERSION_RC}
 EOF
 ```
 
@@ -396,7 +396,7 @@ Message:
 cat <<EOF
 Hello all,
 
-The vote to release Apache Pulsar Helm Chart version ${VERSION_WITHOUT_RC} based on ${VERSION} is now closed.
+The vote to release Apache Pulsar Helm Chart version ${VERSION_WITHOUT_RC} based on ${VERSION_RC} is now closed.
 
 The vote PASSED with X binding "+1", Y non-binding "+1" and 0 "-1" votes:
 
@@ -425,12 +425,12 @@ The best way of doing this is to svn cp between the two repos (this avoids havin
 the binaries again, and gives a clearer history in the svn commit logs):
 
 ```shell
-export VERSION=3.0.0-candidate-1
-export VERSION_WITHOUT_RC=${VERSION%-candidate-*}
+export VERSION_RC=3.0.0-candidate-1
+export VERSION_WITHOUT_RC=${VERSION_RC%-candidate-*}
 APACHE_USER=<your ASF userid>
-svn rm --username $APACHE_USER -m "Remove temporary index.yaml file" https://dist.apache.org/repos/dist/dev/pulsar/helm-chart/${VERSION}/index.yaml
-svn move --username $APACHE_USER -m "Release Pulsar Helm Chart ${VERSION_WITHOUT_RC} from ${VERSION}" \
-  https://dist.apache.org/repos/dist/dev/pulsar/helm-chart/${VERSION} \
+svn rm --username $APACHE_USER -m "Remove temporary index.yaml file" https://dist.apache.org/repos/dist/dev/pulsar/helm-chart/${VERSION_RC}/index.yaml
+svn move --username $APACHE_USER -m "Release Pulsar Helm Chart ${VERSION_WITHOUT_RC} from ${VERSION_RC}" \
+  https://dist.apache.org/repos/dist/dev/pulsar/helm-chart/${VERSION_RC} \
   https://dist.apache.org/repos/dist/release/pulsar/helm-chart/${VERSION_WITHOUT_RC}
 ```
 
@@ -442,9 +442,9 @@ Create and push the release tag:
 
 ```shell
 cd "${PULSAR_REPO_ROOT}"
-git checkout pulsar-${RC}
-git tag -s pulsar-${VERSION} -m "Apache Pulsar Helm Chart ${VERSION}"
-git push upstream pulsar-${VERSION}
+git checkout pulsar-${VERSION_RC}
+git tag -s pulsar-${VERSION_WITHOUT_RC} -m "Apache Pulsar Helm Chart ${VERSION_WITHOUT_RC}"
+git push upstream pulsar-${VERSION_WITHOUT_RC}
 ```
 
 ## Update index.yaml
@@ -457,15 +457,14 @@ Then, run the following command from within `github.com/apache/pulsar-site` in t
 ```shell
 # Run on a branch based on main branch
 cd site2/website-next/static/charts
-cp ${PULSAR_SVN_RELEASE_HELM}/${VERSION}/pulsar-${VERSION}.tgz .
-helm repo index --merge ./index.yaml . --url "https://downloads.apache.org/pulsar/helm-chart/${VERSION}"
+helm repo index --merge ./index.yaml . --url "https://downloads.apache.org/pulsar/helm-chart/${VERSION_WITHOUT_RC}"
 ```
 
 Verify that the updated `index.yaml` file has the most recent version. Then run:
 
 ```shell
 git add index.yaml
-git commit -m "Adding Pulsar Helm Chart ${VERSION} to index.yaml"
+git commit -m "Adding Pulsar Helm Chart ${VERSION_WITHOUT_RC} to index.yaml"
 ```
 
 Then open a PR.
@@ -481,7 +480,7 @@ Subject:
 
 ```shell
 cat <<EOF
-[ANNOUNCE] Apache Pulsar Helm Chart version ${VERSION} Released
+[ANNOUNCE] Apache Pulsar Helm Chart version ${VERSION_WITHOUT_RC} Released
 EOF
 ```
 
@@ -492,14 +491,14 @@ cat <<EOF
 Dear Pulsar community,
 
 The Apache Pulsar team is pleased to announce the release of Apache Pulsar Helm
-Chart $VERSION.
+Chart $VERSION_WITHOUT_RC.
 
 The source release, as well as the "binary" Helm Chart release, are available:
 
 Official Sources: https://pulsar.apache.org/download/
-ArtifactHub: https://artifacthub.io/packages/helm/apache/pulsar/$VERSION
+ArtifactHub: https://artifacthub.io/packages/helm/apache/pulsar/$VERSION_WITHOUT_RC
 Docs: https://pulsar.apache.org/docs/helm-overview
-Release Notes: https://github.com/apache/pulsar-helm-chart/releases/tag/pulsar-$VERSION
+Release Notes: https://github.com/apache/pulsar-helm-chart/releases/tag/pulsar-$VERSION_WITHOUT_RC
 
 Thanks to all the contributors who made this possible.
 
@@ -527,29 +526,21 @@ Post this in the #announce channel:
 
 ```shell
 cat <<EOF
-We've just released Apache Pulsar Helm Chart ${VERSION} 🎉
+We've just released Apache Pulsar Helm Chart ${VERSION_WITHOUT_RC} 🎉
 
 Official Sources: https://pulsar.apache.org/download/
-ArtifactHub: https://artifacthub.io/packages/helm/apache/pulsar/$VERSION
+ArtifactHub: https://artifacthub.io/packages/helm/apache/pulsar/$VERSION_WITHOUT_RC
 Docs: https://pulsar.apache.org/docs/helm-overview
-Release Notes: https://pulsar.apache.org/docs/helm-chart/$VERSION/release_notes.html
+Release Notes: https://pulsar.apache.org/docs/helm-chart/$VERSION_WITHOUT_RC/release_notes.html
 
 Thanks to all the contributors who made this possible.
 EOF
 ```
 
-## Remove old releases
+## Maintaining svn https://dist.apache.org/repos/dist/release/pulsar/helm-chart/ content
 
-We should keep the old version a little longer than a day. We updated the `index.yaml` earlier so that it points to the
-older releases. The short delay will help avoid errors for users who haven't run ``helm repo update`` to get the latest
-`index.yaml`.
+The chart references the files in https://downloads.apache.org/pulsar/helm-chart/ which are maintained
+by SVN directory https://dist.apache.org/repos/dist/release/pulsar/helm-chart/.
 
-It is probably ok if we leave last 2 versions on release svn repo too.
-
-```shell
-# https://www.apache.org/legal/release-policy.html#when-to-archive
-cd pulsar-dist-release/helm-chart
-export PREVIOUS_VERSION=1.0.0
-svn rm ${PREVIOUS_VERSION}
-svn commit -m "Remove old Helm Chart release: ${PREVIOUS_VERSION}"
-```
+If you remove releases from this directory, the URLs in index.yaml should be updated point to the 
+https://archive.apache.org/dist/pulsar/helm-chart/ URL base instead of https://downloads.apache.org/pulsar/helm-chart/.
\ No newline at end of file