apache / apache/iceberg-rust

Release process retrospective 0.10.0 + 0.10.1

Open
#2,864 7 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
1.4k
Forks
567
Avg merge
2d 2h
Merged PRs (30d)
93

Description

Opening this issue to track issues faced during 0.10.0 release process, and track improvements.

Release guide: https://rust.iceberg.apache.org/release

Issues faced:

| Issue | Manual Resolution | Long-Term Resolution | Resolved |
|--------|--------|--------|--------|
| RC1 failed due to a regression found concurrently with voting | PR merged and taken into RC2 | N/A | CLOSED |
| RC2 failed as the tag did not match the archive contents (full workflow not retries) | RC3 cut | Review release guide content to emphasize when a new RC needs to be cut (https://github.com/apache/iceberg-rust/pull/3037) | CLOSED |
| Churn between release candidates as new commits were brought in from `main` | Eventually cut a branch for `0.10.0` | Formalize process for cutting a release branch (like `0.10.x`) (https://github.com/apache/iceberg-rust/pull/3037) | CLOSED |
| RC3 failed as LICENSE and NOTICE files were missing from individual crate archives, reported against 0.9.1 concurrently with voting | Updated in source: https://github.com/apache/iceberg-rust/pull/2830 | Add validation to CI and/or release verification scripts: #3084 | CLOSED |
| Final release steps must be owned by PMC member, not committer. | Handed over to @blackmwk | Update release runbook to clarify this (https://github.com/apache/iceberg-rust/pull/3037) | CLOSED |
| Trusted publishing failed for Python packages | TBD | Update release guide to mention this limitation and steps that need to be taken. (https://github.com/apache/iceberg-rust/pull/3037) | CLOSED |
| Trusted publishing fails for new crates (https://github.com/apache/iceberg-rust/issues/2863) | New crates manually published by @blackmwk | Update release guide to mention this limitation and steps that need to be taken. (https://github.com/apache/iceberg-rust/pull/3037)
Open proposal to publish release candidate crates. (https://github.com/apache/iceberg-rust/issues/3139) | CLOSED |
| Draft GitHub release for 0.10.0 was missing when it came time to publish, despite being a step in release guide | Created by @blackmwk | No mitigation proposed. | CLOSED |
| Final announcement e-mail must be owned by Iceberg committer, and must not be `text/html` | None |Clarify who is responsible for the e-mail in the release guide (https://github.com/apache/iceberg-rust/pull/3037) | CLOSED |
| GH Issue template is not updated as part of release process | Opened PR: https://github.com/apache/iceberg-rust/pull/2826/ | Use freeform text input instead: #2826 | CLOSED |
| pyiceberg-core was published from `main` rather than `v0.10.0` tag | New release: https://github.com/apache/iceberg-rust/issues/2907 | https://github.com/apache/iceberg-rust/pull/2912, https://github.com/apache/iceberg-rust/pull/3037 | CLOSED |
| Rustdoc does not appear updated for 0.10.1 on iceberg-rust website, stuck on 0.10.0 https://rust.iceberg.apache.org/api/iceberg/index.html | #3074 | TODO: Add merge from release branch as step to release guide | OPEN |

Contributor guide

Open the contributing guide

Research direction

Read the release guide at https://rust.iceberg.apache.org/release and review the remaining open item about Rustdoc staying on 0.10.0. Trace the 0.10.1 release process and the referenced issue or changes, then update the guide with the release-branch merge step; it is done when the procedure explains how to get the website documentation current.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, rust
Domain
documentation, release
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.