Skip to content

Commit bd9aa63

Browse files
authored
docs: update "how to release" (#1691)
1 parent d66f994 commit bd9aa63

File tree

1 file changed

+56
-34
lines changed

1 file changed

+56
-34
lines changed

website/src/release.md

Lines changed: 56 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ In the context of our release, we use several terms to describe different stages
3838
Here's an explanation of these terms:
3939

4040
- `iceberg_version`: the version of Iceberg to be released, like `0.2.0`.
41-
- `release_version`: the version of release candidate, like `0.2.0-rc.1`.
4241
- `rc_version`: the minor version for voting round, like `rc.1`.
42+
- `release_version`: the version of release candidate, like `0.2.0-rc.1`.
4343

4444
## Preparation
4545

@@ -117,14 +117,16 @@ Please note that this version is the exact version of the release, not the relea
117117

118118
Download and setup `cargo-deny`. You can refer to [cargo-deny](https://embarkstudios.github.io/cargo-deny/cli/index.html).
119119

120-
Running `python3 ./scripts/dependencies.py generate` to update the dependencies list of every package.
120+
Run `python3 ./scripts/dependencies.py generate` to update the dependencies list of every package.
121+
122+
Run `python3 ./scripts/dependencies.py check` to verify the updated dependencies' license.
121123

122124
### Push release candidate tag
123125

124126
After bump version PR gets merged, we can create a GitHub release for the release candidate:
125127

126-
- Create a tag at `main` branch on the `Bump Version` / `Patch up version` commit: `git tag -s "v0.2.0-rc.1"`, please correctly check out the corresponding commit instead of directly tagging on the main branch.
127-
- Push tags to GitHub: `git push --tags`.
128+
- Create a tag at `main` branch on the `Bump Version` / `Patch up version` commit: `git tag -s "v${release_version}"`, please correctly check out the corresponding commit instead of directly tagging on the main branch.
129+
- Push tags to GitHub: `git push origin "v${release_version}"`.
128130

129131
## ASF Side
130132

@@ -145,7 +147,6 @@ After GitHub Release has been created, we can start to create ASF Release.
145147
- `apache-iceberg-rust-${release_version}-src.tar.gz.asc`
146148
- `apache-iceberg-rust-${release_version}-src.tar.gz.sha512`
147149
- Check the header of the source code. This step needs docker to run.
148-
- Push the newly created branch to GitHub
149150

150151
This script will create a new release under `dist`.
151152

@@ -163,7 +164,7 @@ dist
163164

164165
SVN is required for this step.
165166

166-
The svn repository of the dev branch is: <https://dist.apache.org/repos/dist/dev/iceberg/iceberg-rust>
167+
The svn repository of the dev branch is: <https://dist.apache.org/repos/dist/dev/iceberg/>
167168

168169
First, checkout Iceberg to local directory:
169170

@@ -178,22 +179,25 @@ Then, upload the artifacts:
178179
179180
```shell
180181
# create a directory named by version
181-
mkdir /tmp/iceberg-dist-dev/${release_version}
182+
mkdir /tmp/iceberg-dist-dev/apache-iceberg-rust-${release_version}/
183+
182184
# copy source code and signature package to the versioned directory
183-
cp ${repo_dir}/dist/* /tmp/iceberg-dist-dev/iceberg-rust-${release_version}/
185+
cp ./dist/* /tmp/iceberg-dist-dev/apache-iceberg-rust-${release_version}/
186+
184187
# change dir to the svn folder
185188
cd /tmp/iceberg-dist-dev/
189+
186190
# check svn status
187191
svn status
192+
188193
# add to svn
189-
svn add ${release_version}
190-
# check svn status
191-
svn status
194+
svn add apache-iceberg-rust-${release_version}
195+
192196
# commit to SVN remote server
193-
svn commit -m "Prepare for ${release_version}"
197+
svn commit -m "Prepare for iceberg-rust ${release_version}"
194198
```
195199

196-
Visit <https://dist.apache.org/repos/dist/dev/iceberg/iceberg-rust/> to make sure the artifacts are uploaded correctly.
200+
Visit <https://dist.apache.org/repos/dist/dev/iceberg/> to make sure the artifacts are uploaded correctly.
197201

198202
### Rescue
199203

@@ -209,7 +213,7 @@ Iceberg Community Vote should send email to: <[email protected]>:
209213
Title:
210214

211215
```
212-
[VOTE] Release Apache Iceberg Rust ${release_version} RC1
216+
[VOTE] Release Apache Iceberg Rust ${iceberg_version} ${rc_version}
213217
```
214218

215219
Content:
@@ -219,19 +223,19 @@ Hello, Apache Iceberg Rust Community,
219223
220224
This is a call for a vote to release Apache Iceberg rust version ${iceberg_version}.
221225
222-
The tag to be voted on is ${iceberg_version}.
226+
The tag to be voted on is v${release_version}.
223227
224228
The release candidate:
225229
226-
https://dist.apache.org/repos/dist/dev/iceberg/iceberg-rust-${release_version}/
230+
https://dist.apache.org/repos/dist/dev/iceberg/apache-iceberg-rust-${release_version}/
227231
228232
Keys to verify the release candidate:
229233
230234
https://downloads.apache.org/iceberg/KEYS
231235
232236
Git tag for the release:
233237
234-
https://github.com/apache/iceberg-rust/releases/tag/v${iceberg_version}
238+
https://github.com/apache/iceberg-rust/releases/tag/v${release_version}
235239
236240
Please download, verify, and test.
237241
@@ -267,7 +271,7 @@ After at least 3 `+1` binding vote (from Iceberg PMC member), claim the vote res
267271
Title:
268272

269273
```
270-
[RESULT][VOTE] Release Apache Iceberg Rust ${release_version} RC1
274+
[RESULT][VOTE] Release Apache Iceberg Rust ${iceberg_version} ${rc_version}
271275
```
272276

273277
Content:
@@ -312,37 +316,53 @@ After downloading them, here are the instructions on how to verify them.
312316

313317
* Import keys:
314318

315-
```bash
316-
curl https://downloads.apache.org/iceberg/KEYS -o KEYS
317-
gpg --import KEYS
318-
```
319-
* Verify the `.asc` file: ```gpg --verify apache-iceberg-rust-${iceberg_version}.tar.gz.asc```
320-
* Verify the checksums: ```shasum -a 512 -c apache-iceberg-rust-${iceberg_version}.tar.gz.sha512```
321-
* Verify license headers: ```docker run -it --rm -v $(pwd):/github/workspace apache/skywalking-eyes header check```
319+
```bash
320+
curl https://downloads.apache.org/iceberg/KEYS -o KEYS
321+
gpg --import KEYS
322+
```
323+
* Verify the `.asc` file:
324+
325+
```bash
326+
gpg --verify apache-iceberg-rust-*.tar.gz.asc
327+
```
328+
Expects: `"apache-iceberg-rust-0.7.0-src.tar.gz: OK"`
329+
* Verify the checksums:
330+
331+
```bash
332+
shasum -a 512 -c apache-iceberg-rust-*.tar.gz.sha512
333+
```
334+
Expects: `gpg: Good signature from ...`
322335
* Verify build and test:
323-
```bash
324-
tar -xzf apache-iceberg-rust-${iceberg_version}.tar.gz
325-
cd apache-iceberg-rust-${iceberg_version}
326-
make build && make test
327-
```
336+
337+
```bash
338+
tar -xzf apache-iceberg-rust-*.tar.gz
339+
cd apache-iceberg-rust-*/
340+
make build && make test
341+
```
342+
* Verify license headers:
343+
344+
```bash
345+
docker run -it --rm -v $(pwd):/github/workspace apache/skywalking-eyes header check
346+
```
347+
Expects: `INFO Totally checked _ files, valid: _, invalid: 0, ignored: _, fixed: 0 `
328348

329349
## Official Release
330350

331351
### Push the release git tag
332352

333353
```shell
334354
# Checkout the tags that passed VOTE
335-
git checkout ${release_version}
355+
git checkout "v${release_version}"
336356
# Tag with the iceberg version
337-
git tag -s ${iceberg_version}
357+
git tag -s "v${iceberg_version}"
338358
# Push tags to github to trigger releases
339-
git push origin ${iceberg_version}
359+
git push origin "v${iceberg_version}"
340360
```
341361

342362
### Publish artifacts to SVN RELEASE branch
343363

344364
```shell
345-
svn mv https://dist.apache.org/repos/dist/dev/iceberg/iceberg-rust-${release_version} https://dist.apache.org/repos/dist/release/iceberg/iceberg-rust-${iceberg_version} -m "Release Apache Iceberg Rust ${iceberg_version}"
365+
svn mv https://dist.apache.org/repos/dist/dev/iceberg/apache-iceberg-rust-${release_version} https://dist.apache.org/repos/dist/release/iceberg/apache-iceberg-rust-${iceberg_version} -m "Release Apache Iceberg Rust ${iceberg_version}"
346366
```
347367

348368
### Change Iceberg Rust Website download link
@@ -393,6 +413,8 @@ Apache Iceberg Rust website: https://rust.iceberg.apache.org/
393413
394414
Download Links: https://rust.iceberg.apache.org/download
395415
416+
From official ASF distribution: https://dist.apache.org/repos/dist/release/iceberg/apache-iceberg-rust-${release_version}/
417+
396418
Iceberg Resources:
397419
- Issue: https://github.com/apache/iceberg-rust/issues
398420
- Mailing list: [email protected]

0 commit comments

Comments
 (0)