This is an automated email from the ASF dual-hosted git repository. jiayu pushed a commit to branch branch-0.1.0 in repository https://gitbox.apache.org/repos/asf/sedona-spatialbench.git
commit 023076b44ed9dec4b96075977c2b0de456e834dc Author: Jia Yu <[email protected]> AuthorDate: Mon Dec 1 23:44:44 2025 -0800 Add crates.io publish guidance --- dev/release/README.md | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/dev/release/README.md b/dev/release/README.md index 86fe09f..0cb71f3 100644 --- a/dev/release/README.md +++ b/dev/release/README.md @@ -156,3 +156,52 @@ are currently all derived from `Cargo.toml`, which can be updated to: [workspace.package] version = "0.2.0" ``` + +## Publishing to crates.io + +After a successful Apache release, the Rust crates can be published to [crates.io](https://crates.io). + +### Prerequisites + +1. **crates.io account**: Create an account at <https://crates.io> if you don't have one +2. **API token**: Generate an API token from <https://crates.io/me> +3. **Login to cargo**: Authenticate cargo with your API token: + ```shell + cargo login <your-api-token> + ``` +4. **Verify ownership**: Ensure you have owner permissions for the crates on crates.io. If this is the first publish, you'll automatically become an owner. + +### Pre-publish checks + +Before publishing, verify that: + +1. All tests pass: + ```shell + cargo test --workspace + ``` + +2. The workspace builds successfully: + ```shell + cargo build --workspace --release + ``` + +3. Check for any issues with `cargo publish --dry-run`: + ```shell + cd spatialbench && cargo publish --dry-run + cd ../spatialbench-arrow && cargo publish --dry-run + cd ../spatialbench-cli && cargo publish --dry-run + ``` + +### Publishing order + +The crates will be published in dependency order. The correct order is: + +1. `spatialbench` (no workspace dependencies) +2. `spatialbench-arrow` (depends on `spatialbench`) +3. `spatialbench-cli` (depends on both `spatialbench` and `spatialbench-arrow`) + +To publish, run this command: + +```shell +cargo publish +``` \ No newline at end of file
