Skip to content

Commit 30d987f

Browse files
authored
docs: more release docs improvements (#3104)
1 parent 627a5eb commit 30d987f

File tree

1 file changed

+26
-8
lines changed

1 file changed

+26
-8
lines changed

mkdocs/docs/how-to-release.md

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,9 @@ git checkout -b pyiceberg-0.8.x pyiceberg-0.8.0
9696

9797
# Cherry-pick commits for the upcoming patch release
9898
git cherry-pick <commit>
99+
100+
# Push the new branch
101+
git push git@github.com:apache/iceberg-python.git pyiceberg-0.8.x
99102
```
100103

101104
### Create Tag
@@ -134,14 +137,20 @@ This action will generate two final artifacts:
134137
If `gh` is available, watch the GitHub Action progress using:
135138

136139
```bash
140+
: "${GIT_TAG:?ERROR: GIT_TAG is not set or is empty}"
141+
137142
RUN_ID=$(gh run list --repo apache/iceberg-python --workflow "Python Build Release Candidate" --branch "${GIT_TAG}" --event push --json databaseId -q '.[0].databaseId')
143+
: "${RUN_ID:?ERROR: RUN_ID could not be determined}"
144+
138145
echo "Waiting for workflow to complete, this will take several minutes..."
139146
gh run watch $RUN_ID --repo apache/iceberg-python
140147
```
141148

142149
and download the artifacts using:
143150

144151
```bash
152+
: "${RUN_ID:?ERROR: RUN_ID is not set or is empty}"
153+
145154
gh run download $RUN_ID --repo apache/iceberg-python
146155
```
147156

@@ -159,6 +168,9 @@ Navigate to the artifact directory. Generate signature and checksum files:
159168
* `.sha512` files: SHA-512 checksums for verifying file integrity.
160169

161170
```bash
171+
: "${VERSION:?ERROR: VERSION is not set or is empty}"
172+
: "${RC:?ERROR: RC is not set or is empty}"
173+
162174
(
163175
cd svn-release-candidate-${VERSION}rc${RC}
164176

@@ -177,14 +189,11 @@ The parentheses `()` create a subshell. Any changes to the directory (`cd`) are
177189
Now, upload the files from the same directory:
178190

179191
```bash
180-
export SVN_TMP_DIR=/tmp/iceberg-${VERSION}/
181-
svn checkout https://dist.apache.org/repos/dist/dev/iceberg $SVN_TMP_DIR
182-
183-
export SVN_TMP_DIR_VERSIONED=${SVN_TMP_DIR}pyiceberg-$VERSION_WITH_RC/
184-
mkdir -p $SVN_TMP_DIR_VERSIONED
185-
cp svn-release-candidate-${VERSION}rc${RC}/* $SVN_TMP_DIR_VERSIONED
186-
svn add $SVN_TMP_DIR_VERSIONED
187-
svn ci -m "PyIceberg ${VERSION_WITH_RC}" ${SVN_TMP_DIR_VERSIONED}
192+
: "${VERSION:?ERROR: VERSION is not set or is empty}"
193+
: "${VERSION_WITH_RC:?ERROR: VERSION_WITH_RC is not set or is empty}"
194+
: "${RC:?ERROR: RC is not set or is empty}"
195+
196+
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}"
188197
```
189198

190199
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
215224
<!-- prettier-ignore-end -->
216225

217226
```bash
227+
: "${VERSION:?ERROR: VERSION is not set or is empty}"
228+
: "${RC:?ERROR: RC is not set or is empty}"
229+
218230
twine upload pypi-release-candidate-${VERSION}rc${RC}/*
219231
```
220232

@@ -227,6 +239,10 @@ Verify the artifact is uploaded to [PyPi](https://pypi.org/project/pyiceberg/#hi
227239
Final step is to generate the email to the dev mail list:
228240

229241
```bash
242+
: "${GIT_TAG:?ERROR: GIT_TAG is not set or is empty}"
243+
: "${VERSION:?ERROR: VERSION is not set or is empty}"
244+
: "${VERSION_WITH_RC:?ERROR: VERSION_WITH_RC is not set or is empty}"
245+
230246
export GIT_TAG_REF=$(git show-ref ${GIT_TAG})
231247
export GIT_TAG_HASH=${GIT_TAG_REF:0:40}
232248
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
340356
<!-- prettier-ignore-end -->
341357

342358
```bash
359+
: "${VERSION:?ERROR: VERSION is not set or is empty}"
360+
343361
svn checkout https://dist.apache.org/repos/dist/release/iceberg/pyiceberg-${VERSION} /tmp/iceberg-dist-release/pyiceberg-${VERSION}
344362

345363
cd /tmp/iceberg-dist-release/pyiceberg-${VERSION}

0 commit comments

Comments
 (0)