Follow the below instructions in sequence
- Create a release branch from
main:
git checkout main
git pull origin main
git checkout -b feature/vx.x.x-
Update the Cargo.toml
[workspace.package]version and[workspace.dependencies]version. We use SemVer versions. Update the pyproject.toml version and dependencies version and variants RunCargo updateandmake python-bindings-buildormake python-bindings-build-cuda -
Commit the release changes on the release branch:
git add .
git commit -m "[MAINT]: bump version to x.x.x"
git push origin feature/vx.x.x-
Open a PR from
feature/vx.x.xtomain, wait for CI to pass, and get it reviewed. -
Merge the PR to
main. -
After the PR is merged, switch back to
mainand pull the merged commit that will be released:
git checkout main
git pull origin main- Publish to Crates.io from
main(MAINTAIN the order)
cd crates/autoagents-derive
cargo publish --dry-run # Test first
cargo publishcd crates/autoagents-protocol
cargo publish --dry-run # Test first
cargo publishcd ../autoagents-llm
cargo publish --dry-run
cargo publishcd ../autoagents-llamacpp
cargo publish --dry-run
cargo publishcd ../autoagents-mistral-rs
cargo publish --dry-run
cargo publishcd ../autoagents-core
cargo publish --dry-run
cargo publishcd ../autoagents
cargo publish --dry-run
cargo publishcd ../autoagents-toolkit
cargo publish --dry-run
cargo publishcd ../autoagents-qdrant
cargo publish --dry-run
cargo publishcd ../autoagents-speech
cargo publish --dry-run
cargo publishcd ../autoagents-telemetry
cargo publish --dry-run
cargo publishcd ../autoagents-guardrails
cargo publish --dry-run
cargo publish- Build Python packages locally before tagging
# Build manylinux wheels (CPU variants)
make python-bindings-buildThis builds:
autoagentsbase wheelautoagents-guardrailswheelautoagents-llamacppCPU wheelautoagents-mistral-rsCPU wheel
To Test the cuda version run
make python-bindings-build-cuda- The
Python Bindings CIGitHub Actions workflow runs on PRs to validate the Python packaging matrix before merge. - The Python bindings are published via GitHub Actions only when a
v*tag is pushed. - Use the local build commands above to validate the Python bindings before creating the release tag.
- Create the release tag on the merged
maincommit:
cd ../.. # Back to project root
git tag -a vx.x.x -m "Release vx.x.x
Features:
-
Improvements:
-
"# Push the release tag
git push origin vx.x.x- Pushing the
vx.x.xtag triggers the Python bindings workflow and publishes the Python packages from GitHub Actions.