|
1 | 1 | # How to release new versions |
2 | 2 |
|
3 | | -1. If there are Rust changes, update `icechunk/Cargo.toml` increasing version. |
4 | | -1. Update `icechunk-python/Cargo.toml` increasing version. This version can be ahead of the one in `icechunk/Cargo.toml`, that's OK. |
5 | | -1. If there are Rust changes, update the version on the dependency on Rust Icechunk library in `icechunk-python/Cargo.toml`. |
6 | | -1. Run tests to ensure `Cargo.lock` updates and everything works. |
7 | | -1. Document changes in `Changelog.md` and commit. |
8 | | -1. Prepare the desired release on a branch or tag (not the official tag name, this ref can be temporary). We usually use `main` for the release point. |
9 | | -1. Run the [`publish rust library`](https://github.com/earth-mover/icechunk/actions/workflows/publish-rust-library.yml) workflow on the ref you want to release. |
10 | | -1. After the previous point completes, run the [`Python CI and library release`](https://github.com/earth-mover/icechunk/actions/workflows/python-ci.yaml) workflow on the ref you want to release. |
| 3 | +## Update version metadata files |
| 4 | + |
| 5 | +1. (Optional: Iff changes to core icechunk rust crate) Update `icechunk/Cargo.toml` by incrementing the version. |
| 6 | +1. Update `icechunk-python/Cargo.toml` by incrementing the version. |
| 7 | +1. Update the version of the dependency on the core Rust Icechunk library in `icechunk-python/Cargo.toml`, ensuring that it is consistent with the latest version of the core icechunk rust crate. |
| 8 | +1. Update the `Cargo.lock` file, by running `cargo check` from the top-level icechunk directory. |
| 9 | +1. Document changes in `Changelog.md`. |
| 10 | +1. Commit all changes and make a PR. |
| 11 | +1. Once CI passes on the PR merge it. |
| 12 | + |
| 13 | +## (Optional) Issuing a icechunk rust library release |
| 14 | + |
| 15 | +1. (Optional: Iff changes to core icechunk rust crate) Go to the [`publish rust library` github action](https://github.com/earth-mover/icechunk/actions/workflows/publish-rust-library.yml). Click `Run workflow`, select the branch (`main` for a normal release, `support/v1.x` for a V1 support release), and click the green `Run workflow` button to launch. |
| 16 | + |
| 17 | +## Issuing an icechunk python release |
| 18 | + |
| 19 | +1. Wait until any previous workflow completes. |
| 20 | +1. Go to the [`Python CI and library release` github action](https://github.com/earth-mover/icechunk/actions/workflows/python-ci.yaml). |
| 21 | +1. Check `Make a PyPI release`. |
| 22 | +1. Uncheck `Use git-based version for nightly builds`. |
| 23 | +1. Under `Branch to build/release (for manual builds only)` select the branch you want to release (`main` for a normal release, `support/v1.x` for a V1 support release). |
| 24 | +1. Click the green `Run workflow` button to launch. |
11 | 25 | 1. After the previous point completes, [create a new release in GitHub](https://github.com/earth-mover/icechunk/releases/new). Ask it to create the tag, and generate the release notes. This step will notify the community slack of the new release. |
0 commit comments