Skip to Content
DeveloperContributingReleasing & ADRs

ADR

Generated from docs/development.md in smbcloud-cli . Edit it there.

This repo uses Architecture Decision Record  in the adr folder.

Releasing

Releases are automated via GitHub Actions. The full source of truth for the release process is the smbcloud-cli-release skill under .agents/skills/ — read it before cutting a release. The short version:

  1. Prepare the bump on a release/v<version> branch off development with the Makefile — make patch | minor | major | custom VERSION=<version>. This bumps every workspace crate in lockstep, syncs the npm/PyPI/gem manifests and lockfiles, and commits Release <version>.
  2. Once CI is green, merge into development with --no-ff, then tag on development: git tag v<version>.
  3. Push both: git push origin development && git push origin v<version>.

Pushing the v*.*.* tag triggers .github/workflows/release-crate.yml, which publishes the workspace crates to crates.io and fans out to the npm, PyPI, NuGet, and Ruby-gem distribution workflows. You do not publish by hand — the tag push is the trigger.

A local publish (cargo workspaces publish --publish-as-is) exists only as a fallback for when CI is unavailable; it is not the normal path. See the smbcloud-cli-release skill for per-channel details, version-sync rules, and trusted-publishing setup.