You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This wires the Ruby SDK into the same release machinery TypeScript and Python
already use — one quarterly runbook, one endpoint reference, one automated
versioning-and-publishing pipeline for the three SDKs — ahead of the next
dated API version in October.
🔑 What?
Runbook (.agents/skills/release-sdk/SKILL.md) — adds the "Regenerate
Ruby" step to the quarterly regeneration guide. Regenerating reuses the
version already in version.rb, so the step needs no version revert.
Skill reference — sdk-methods.md gains a Ruby column for all 550
endpoints. A new ruby/scripts/skill_methods.rb extracts each call by
reflecting on the loaded gem (naming stays owned by normalize_oas.rb), so
the tables always match what the gem actually exposes; if the Ruby toolchain
is unavailable, generation fails loudly rather than emitting a partial
table. The Ruby pipeline now refreshes the skill on every regeneration, the
same anti-drift loop the TS/Python release scripts run.
release-please + publishing — registers the ruby package (config +
manifest), hands version ownership to release-please (generate_sdk.rb now
reads version.rb instead of computing bumps; --set-version remains for
the beta workflow), and wires publish.yaml to a new publish-to-rubygems
composite action (idempotent: skips if the version is already on the
registry).
Docs — CLAUDE.md, RELEASING.md, ruby/DEVELOPMENT.md and the
consumer skill now cover the three SDKs.
Merging this publishes nothing: release-please opens a Ruby Release PR once
features land, and only merging that publishes — which also requires the RUBYGEMS_API_KEY secret (requested separately). Out of scope: the Ruby job
in beta-publish.yaml (small follow-up touching beta-detect.mjs).
The reason will be displayed to describe this comment to others. Learn more.
Overall looks fine. Some nitpicks, up to you:
I think the Gemfile.lock will be drifting in every release... maybe its worth to untrack it or make a commit back? I am not sure of the solution but you get the idea.
Same as uv.lock: gem build reads the version from the gemspec, not the
lockfile, so a stale line there can't affect what gets published (checked it. Bumping version.rb with a stale lockfile still builds the right version).
Extended the RELEASING.md note to mention it.
Left it tracked because it pins RuboCop: with NewCops: enable, an unpinned version would break CI whenever RuboCop ships new cops.
Guaranteed: the manifest is seeded at 2.0.0, so any computed release is 2.x or higher. Note the first published version will be the next bump (2.1.0). Documented in RELEASING.md.
Good catch. Ruby cells now carry the real required arguments, read by reflection from the gem.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🚪 Why?
This wires the Ruby SDK into the same release machinery TypeScript and Python
already use — one quarterly runbook, one endpoint reference, one automated
versioning-and-publishing pipeline for the three SDKs — ahead of the next
dated API version in October.
🔑 What?
.agents/skills/release-sdk/SKILL.md) — adds the "RegenerateRuby" step to the quarterly regeneration guide. Regenerating reuses the
version already in
version.rb, so the step needs no version revert.sdk-methods.mdgains a Ruby column for all 550endpoints. A new
ruby/scripts/skill_methods.rbextracts each call byreflecting on the loaded gem (naming stays owned by
normalize_oas.rb), sothe tables always match what the gem actually exposes; if the Ruby toolchain
is unavailable, generation fails loudly rather than emitting a partial
table. The Ruby pipeline now refreshes the skill on every regeneration, the
same anti-drift loop the TS/Python release scripts run.
rubypackage (config +manifest), hands version ownership to release-please (
generate_sdk.rbnowreads
version.rbinstead of computing bumps;--set-versionremains forthe beta workflow), and wires
publish.yamlto a newpublish-to-rubygemscomposite action (idempotent: skips if the version is already on the
registry).
CLAUDE.md,RELEASING.md,ruby/DEVELOPMENT.mdand theconsumer skill now cover the three SDKs.
Merging this publishes nothing: release-please opens a Ruby Release PR once
features land, and only merging that publishes — which also requires the
RUBYGEMS_API_KEYsecret (requested separately). Out of scope: the Ruby jobin
beta-publish.yaml(small follow-up touchingbeta-detect.mjs).