Release process retrospective 0.10.0 + 0.10.1
- 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
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