This is an automated email from the ASF dual-hosted git repository.
jbonofre pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/polaris.git
The following commit(s) were added to refs/heads/main by this push:
new d11a8055b Update the Release Guide about the Helm Chart package (#2179)
d11a8055b is described below
commit d11a8055bd578b6e30f80a7d1e3c15d7340822c4
Author: JB Onofré <[email protected]>
AuthorDate: Thu Sep 4 12:01:54 2025 +0200
Update the Release Guide about the Helm Chart package (#2179)
* Update the Release Guide about the Helm Chart package
* Update release-guide.md
Co-authored-by: Pierre Laporte <[email protected]>
* Add missing commit message
* Whitespace
* Use Helm GPG plugin to sign the Helm chart
* Fix directories during Helm chart copy to SVN
* Add Helm index to SVN
* Use long name for svn checkout
* Ensure the Helm index is updated after the chart is moved to SVN dist
release
* Do not publish any Docker image before the vote succeeds
* Typos
* Revert "Do not publish any Docker image before the vote succeeds"
This reverts commit 5617e653201adb43d268c223c84bfbd3ba2afb22.
* Don't mention Helm values.yaml in the release guide as it doesn't contain
version details
---------
Co-authored-by: Pierre Laporte <[email protected]>
---
site/content/release-guide.md | 85 +++++++++++++++++++++++++++++++++++--------
1 file changed, 70 insertions(+), 15 deletions(-)
diff --git a/site/content/release-guide.md b/site/content/release-guide.md
index a0055b2c7..1b3dff734 100644
--- a/site/content/release-guide.md
+++ b/site/content/release-guide.md
@@ -28,10 +28,12 @@ To create a release candidate, you will need:
* your Apache credentials (for repository.apache.org and dist.apache.org
repositories)
* a [GPG key](https://www.apache.org/dev/release-signing#generate) for signing
artifacts, published in
[KEYS](https://downloads.apache.org/incubator/polaris/KEYS) file
+### Publish your GPG key
+
If you haven't published your GPG key yet, you must publish it before starting
the release process:
```
-svn co https://dist.apache.org/repos/dist/release/incubator/polaris
polaris-dist-release
+svn checkout https://dist.apache.org/repos/dist/release/incubator/polaris
polaris-dist-release
cd polaris-dist-release
echo "" >> KEYS # append a new line
gpg --list-sigs <YOUR KEY ID HERE> >> KEYS # append signatures
@@ -42,7 +44,6 @@ svn commit -m "add key for <YOUR NAME HERE>"
To send the key to the Ubuntu key-server, Apache Nexus needs it to validate
published artifacts:
```
gpg --keyserver hkps://keyserver.ubuntu.com --send-keys <YOUR KEY ID HERE>
-
```
### Dist repository
@@ -74,7 +75,7 @@ export ORG_GRADLE_PROJECT_apachePassword=bar
### PGP signing
-During release process, the artifacts will be signed with your key, eventually
using `gpg-agent`.
+During release process, the artifacts will be signed with your key, using
`gpg-agent`.
To configure gradle to sign the artifacts, you can add the following settings
in your `~/.gradle/gradle.properties` file:
@@ -86,6 +87,10 @@ To use `gpg` instead of `gpg2`, also set
`signing.gnupg.executable=gpg`.
For more information, see the Gradle [signing
documentation](https://docs.gradle.org/current/userguide/signing_plugin.html#sec:signatory_credentials).
+### Helm chart signing
+
+Helm chart artifacts are signed with your key, using the [helm gpg
plugin](https://github.com/technosophos/helm-gpg). Ensure the plugin is
installed locally.
+
### GitHub Repository
The release should be executed against https://github.com/apache/polaris.git
repository (not a fork).
@@ -113,16 +118,25 @@ git push apache release/x.y.z
Go in the branch, and set the target release version:
```
-git checkoout release/x.y.z
+git checkout release/x.y.z
echo "x.y.z" > version.txt
-git commit -a
-git push
+```
+
+and update the version in the Helm Chart in:
+
+* `helm/polaris/Chart.yaml`
+* `helm/polaris/README.md`
+
+and commit/push the version bump:
+
+```
+git commit -m "Bump version to x.y.z" version.txt helm/polaris/Chart.yaml
helm/polaris/README.md helm/polaris/values.yaml
```
Update `CHANGELOG.md`:
```
./gradlew patchChangelog
-git commit -a
+git commit CHANGELOG.md -m "Update CHANGELOG for x.y.z release"
git push
```
@@ -183,15 +197,54 @@ The binary distributions (for convenience) are available
in:
Now, we can stage the artifacts to dist dev repository:
```
-svn co https://dist.apache.org/repos/dist/dev/incubator/polaris
polaris-dist-dev
+svn checkout https://dist.apache.org/repos/dist/dev/incubator/polaris
polaris-dist-dev
cd polaris-dist-dev
mkdir x.y.z
cp /path/to/polaris/github/clone/repo/build/distribution/* x.y.z
cp
/path/to/polaris/github/clone/repo/runtime/distribution/build/distributions/*
x.y.z
-cp -r /path/to/polaris/github/clone/repo/helm/polaris helm-chart/x.y.z
svn add x.y.z
+```
+
+### Stage Helm Chart package
+
+You can now create a Helm package with the following command in the Polaris
source folder:
+
+```
+cd helm
+helm package polaris
+helm gpg sign polaris-x.y.z.tgz
+```
+
+Create the signature and checksum for the Helm package tgz and prov files:
+
+```
+shasum -a 512 polaris-x.y.z.tgz > polaris-x.y.z.tgz.sha512
+gpg --armor --output polaris-x.y.z.tgz.asc --detach-sig polaris-x.y.z.tgz
+shasum -a 512 polaris-x.y.z.tgz.prov > polaris-x.y.z.tgz.prov.sha512
+gpg --armor --output polaris-x.y.z.tgz.prov.asc --detach-sig
polaris-x.y.z.tgz.prov
+```
+
+Copy and Add the Helm package files to dist folder:
+
+```
+cd ../polaris-dist-dev
+mkdir helm-chart/x.y.z
+cp ../helm/*.tgz* helm-chart/x.y.z
svn add helm-chart/x.y.z
-svn commit -m"Stage Apache Polaris x.y.z RCx"
+```
+
+You can now update the Helm index:
+
+```
+cd helm-chart
+helm repo index .
+svn add index.yaml
+```
+
+Dist repository is now "complete" and we can push/commit:
+
+```
+svn commit -m "Stage Apache Polaris x.y.z RCx"
```
### Build and stage Maven artifacts
@@ -199,7 +252,7 @@ svn commit -m"Stage Apache Polaris x.y.z RCx"
You can now build and publish the Maven artifacts on a Nexus staging
repository:
```
-./gradlew publishToApache -Prelease -PuseGpgAgent
+./gradlew publishToApache -Prelease -PuseGpgAgent -Dorg.gradle.parallel=false
```
Next, you have to close the staging repository:
@@ -365,12 +418,14 @@ svn mv
https://dist.apache.org/repos/dist/dev/incubator/polaris/x.y.z https://di
svn mv
https://dist.apache.org/repos/dist/dev/incubator/polaris/helm-chart/x.y.z
https://dist.apache.org/repos/dist/release/incubator/polaris/helm-chart
```
-NB: you have to update the Helm chart repository index on
https://dist.apache.org/repos/dist/release/incubator/polaris/helm-chart/index.yaml
+Then, update the Helm Chart repository index on
https://dist.apache.org/repos/dist/release/incubator/polaris/helm-chart/index.yaml:
+
```
-svn co https://dist.apache.org/repos/dist/release/incubator/polaris/helm-chart
polaris-helm-chart
-cd polaris-helm-chart
+svn checkout
https://dist.apache.org/repos/dist/release/incubator/polaris/helm-chart
polaris-dist-release-helm-chart
+cd polaris-dist-release-helm-chart
helm repo index .
-svn commit
+svn add index.yaml
+svn commit -m "Update Helm index for x.y.z release"
```
Next, add a release tag to the git repository based on the candidate tag: