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

dru pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-python.git


The following commit(s) were added to refs/heads/main by this push:
     new 30d987f0 docs: more release docs improvements (#3104)
30d987f0 is described below

commit 30d987f0d60939397704332f8442d64163980e11
Author: Kevin Liu <[email protected]>
AuthorDate: Tue Mar 3 21:57:39 2026 -0500

    docs: more release docs improvements (#3104)
---
 mkdocs/docs/how-to-release.md | 34 ++++++++++++++++++++++++++--------
 1 file changed, 26 insertions(+), 8 deletions(-)

diff --git a/mkdocs/docs/how-to-release.md b/mkdocs/docs/how-to-release.md
index 35ec2ef0..01a1b4d0 100644
--- a/mkdocs/docs/how-to-release.md
+++ b/mkdocs/docs/how-to-release.md
@@ -96,6 +96,9 @@ git checkout -b pyiceberg-0.8.x pyiceberg-0.8.0
 
 # Cherry-pick commits for the upcoming patch release
 git cherry-pick <commit>
+
+# Push the new branch
+git push [email protected]:apache/iceberg-python.git pyiceberg-0.8.x
 ```
 
 ### Create Tag
@@ -134,7 +137,11 @@ This action will generate two final artifacts:
 If `gh` is available, watch the GitHub Action progress using:
 
 ```bash
+: "${GIT_TAG:?ERROR: GIT_TAG is not set or is empty}"
+
 RUN_ID=$(gh run list --repo apache/iceberg-python --workflow "Python Build 
Release Candidate" --branch "${GIT_TAG}" --event push --json databaseId -q 
'.[0].databaseId')
+: "${RUN_ID:?ERROR: RUN_ID could not be determined}"
+
 echo "Waiting for workflow to complete, this will take several minutes..."
 gh run watch $RUN_ID --repo apache/iceberg-python
 ```
@@ -142,6 +149,8 @@ gh run watch $RUN_ID --repo apache/iceberg-python
 and download the artifacts using:
 
 ```bash
+: "${RUN_ID:?ERROR: RUN_ID is not set or is empty}"
+
 gh run download $RUN_ID --repo apache/iceberg-python
 ```
 
@@ -159,6 +168,9 @@ Navigate to the artifact directory. Generate signature and 
checksum files:
 * `.sha512` files: SHA-512 checksums for verifying file integrity.
 
 ```bash
+: "${VERSION:?ERROR: VERSION is not set or is empty}"
+: "${RC:?ERROR: RC is not set or is empty}"
+
 (
     cd svn-release-candidate-${VERSION}rc${RC}
 
@@ -177,14 +189,11 @@ The parentheses `()` create a subshell. Any changes to 
the directory (`cd`) are
 Now, upload the files from the same directory:
 
 ```bash
-export SVN_TMP_DIR=/tmp/iceberg-${VERSION}/
-svn checkout https://dist.apache.org/repos/dist/dev/iceberg $SVN_TMP_DIR
-
-export SVN_TMP_DIR_VERSIONED=${SVN_TMP_DIR}pyiceberg-$VERSION_WITH_RC/
-mkdir -p $SVN_TMP_DIR_VERSIONED
-cp svn-release-candidate-${VERSION}rc${RC}/* $SVN_TMP_DIR_VERSIONED
-svn add $SVN_TMP_DIR_VERSIONED
-svn ci -m "PyIceberg ${VERSION_WITH_RC}" ${SVN_TMP_DIR_VERSIONED}
+: "${VERSION:?ERROR: VERSION is not set or is empty}"
+: "${VERSION_WITH_RC:?ERROR: VERSION_WITH_RC is not set or is empty}"
+: "${RC:?ERROR: RC is not set or is empty}"
+
+svn import "svn-release-candidate-${VERSION}rc${RC}" 
"https://dist.apache.org/repos/dist/dev/iceberg/pyiceberg-${VERSION_WITH_RC}"; 
-m "PyIceberg ${VERSION_WITH_RC}"
 ```
 
 Verify the artifact is uploaded to 
[https://dist.apache.org/repos/dist/dev/iceberg](https://dist.apache.org/repos/dist/dev/iceberg/).
@@ -215,6 +224,9 @@ Update the artifact directory to PyPi using `twine`. This 
**won't** bump the ver
 <!-- prettier-ignore-end -->
 
 ```bash
+: "${VERSION:?ERROR: VERSION is not set or is empty}"
+: "${RC:?ERROR: RC is not set or is empty}"
+
 twine upload pypi-release-candidate-${VERSION}rc${RC}/*
 ```
 
@@ -227,6 +239,10 @@ Verify the artifact is uploaded to 
[PyPi](https://pypi.org/project/pyiceberg/#hi
 Final step is to generate the email to the dev mail list:
 
 ```bash
+: "${GIT_TAG:?ERROR: GIT_TAG is not set or is empty}"
+: "${VERSION:?ERROR: VERSION is not set or is empty}"
+: "${VERSION_WITH_RC:?ERROR: VERSION_WITH_RC is not set or is empty}"
+
 export GIT_TAG_REF=$(git show-ref ${GIT_TAG})
 export GIT_TAG_HASH=${GIT_TAG_REF:0:40}
 export LAST_COMMIT_ID=$(git rev-list ${GIT_TAG} 2> /dev/null | head -n 1)
@@ -340,6 +356,8 @@ The latest version can be pushed to PyPi. Check out the 
Apache SVN and make sure
 <!-- prettier-ignore-end -->
 
 ```bash
+: "${VERSION:?ERROR: VERSION is not set or is empty}"
+
 svn checkout 
https://dist.apache.org/repos/dist/release/iceberg/pyiceberg-${VERSION} 
/tmp/iceberg-dist-release/pyiceberg-${VERSION}
 
 cd /tmp/iceberg-dist-release/pyiceberg-${VERSION}

Reply via email to