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
| Flag | Meaning |
|---|---|
--publish | Upload to crates.io (default is dry-run only) |
--skip-tests | Skip cargo test |
--allow-dirty | Pass --allow-dirty to cargo publish |
Checklist
- Bump
versionin rootCargo.tomlandbindings/python/Cargo.toml(keep identical). - Update
CHANGELOG.md. - Ensure CI is green on
main. - Run the script above.
- 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.