Skip to content

Commit 4608ce9

Browse files
committed
Merge branch 'feature/release-v0.4.0' into development
2 parents ce74885 + f83ec14 commit 4608ce9

9 files changed

Lines changed: 150 additions & 160 deletions

File tree

.agents/skills/ci-cd/SKILL.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -693,6 +693,15 @@ One practical warning: the Ruby gem release depends on crates.io propagation. If
693693
**SDK npm version out of sync with Rust crate version**
694694
`sdk/npm/smbcloud-auth/package.json` must have the same version as `crates/smbcloud-auth-sdk-wasm/Cargo.toml`. The `prepare-package.mjs` script compares them at build time and throws a hard error on mismatch. When bumping workspace crate versions for a release, always update the npm package version in the same commit. Forgetting this causes the `check-npm-sdk` CI job and the `release-sdk-npm` workflow to fail.
695695

696+
**SDK Ruby gem versions out of sync with workspace crate versions**
697+
Three files must be bumped together for each gem in `sdk/gems/`:
698+
699+
- `lib/<gem>/version.rb` — the gem version (`Auth::VERSION`, `Model::VERSION`)
700+
- `ext/<gem>/Cargo.toml` — the native extension crate version
701+
- `ext/<gem>/Cargo.toml` dependencies — the `smbcloud-*` version constraints (e.g. `"0.3"` → `"0.4"`)
702+
703+
After bumping, regenerate lockfiles with `cargo generate-lockfile` and `bundle lock` inside each gem directory. The `release-sdk-gem` workflow checks `Auth::VERSION` against the tag and fails on mismatch.
704+
696705
**Tagging a release on a feature branch instead of `development`**
697706
Always tag on `development` (the mainline branch). Tagging on a feature branch leaves `development` without the release commit, making git history confusing and future releases error-prone. Merge the feature branch into `development` first, then tag. If a tag was already placed on the wrong commit, move it with `git tag -f v<version>` and `git push origin v<version> --force`.
698707

.agents/skills/smbcloud-cli-release/SKILL.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,12 @@ The SDK npm package `@smbcloud/sdk-auth` must have its version in `sdk/npm/smbcl
3636

3737
When bumping workspace crate versions for a release, always update `sdk/npm/smbcloud-auth/package.json` in the same commit.
3838

39+
The same applies to the Ruby gems in `sdk/gems/`. For each gem (`auth`, `model`):
40+
41+
- `lib/<gem>/version.rb` — the gem version constant
42+
- `ext/<gem>/Cargo.toml` — the native extension crate version AND the `smbcloud-*` dependency version constraints (e.g. `"0.3"``"0.4"`)
43+
- Regenerate `Cargo.lock` with `cargo generate-lockfile` and `Gemfile.lock` with `bundle lock` inside the gem directory
44+
3945
## Tagging discipline
4046

4147
Always tag releases on the `development` branch (the mainline). Never tag on a feature branch.

0 commit comments

Comments
 (0)