Skip to main content

Release Rust Crate

Publish goosefs-sdk to crates.io. For the Python package, see Release Python.

Script (preferred)

From the repository root:

# Preflight: version alignment, cargo test, cargo doc, cargo publish --dry-run
bash scripts/release/rust.sh

# Real publish
export CARGO_REGISTRY_TOKEN=... # https://crates.io/settings/tokens
bash scripts/release/rust.sh --publish
FlagMeaning
--publishUpload to crates.io (default is dry-run only)
--skip-testsSkip cargo test
--allow-dirtyPass --allow-dirty to cargo publish

Checklist

  1. Bump version in root Cargo.toml and bindings/python/Cargo.toml (keep identical).
  2. Update CHANGELOG.md.
  3. Ensure CI is green on main.
  4. Run the script above.
  5. Tag and push:
git tag v0.1.9
git push origin v0.1.9

crates.io does not allow overwriting a published version. Never commit tokens; use CARGO_REGISTRY_TOKEN in the environment only.