Skip to content

ci: pass major.minor Ruby version to setup-ruby - #220

Merged
gjtorikian merged 1 commit into
mainfrom
ci/setup-ruby-major-minor
Oct 16, 2026
Merged

gjtorikian merged 1 commit into
mainfrom
ci/setup-ruby-major-minor

Conversation

@gjtorikian

Copy link
Copy Markdown
Collaborator

Why

Follow-up to #219. sdk_build (ruby) has broken twice on the same pattern (3.4.10 on 2026-09-17, 3.4.11 on 2026-10-15): workos-ruby's Renovate adopts a new Ruby patch, and our SHA-pinned ruby/setup-ruby doesn't know it yet because setup-ruby bakes its known-version table into each release. The job dies with Unknown version X for ruby on ubuntu-24.04 before any generation runs.

Only Ruby has this failure mode. setup-python and setup-go fetch their version manifests at runtime.

What

Feed setup-ruby major.minor (e.g. 3.4) from .ruby-version instead of the exact patch. setup-ruby's validateRubyEngineAndVersion falls back to the newest stable version that starts with the given prefix, so the job always gets a known 3.4.x. A patch of drift from workos-ruby's own CI is irrelevant for codegen validation.

Note: the sdk_build matrix skips on CI-only changes (path filter), so this isn't exercised by this PR's own checks. The shell expression was checked locally (3.4.11 → 3.4).

setup-ruby embeds its known-version table in each release, so an exact
.ruby-version patch newer than the pinned action fails with "Unknown
version" before generation runs. This has broken sdk_build (ruby) twice
(3.4.10 on 2026-09-17, 3.4.11 on 2026-10-15), each time right after
workos-ruby's Renovate adopted a new Ruby patch.

setup-ruby resolves a major.minor prefix to the newest stable patch it
knows, so a Ruby patch bump in workos-ruby can no longer break this job.
@greptile-apps

greptile-apps Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The PR appears safe to merge; no actionable issues were found.

Summary

The PR passes Ruby’s major.minor version from .ruby-version to the pinned ruby/setup-ruby action instead of requiring an exact patch.

  • Ruby CI setup now chooses a known patch from major.minor.

Reviews (1) · Last reviewed commit: "ci: pass major.minor Ruby version to set..." · Reviewed by Greptile

@gjtorikian
gjtorikian merged commit c092931 into main Oct 16, 2026
8 checks passed
@gjtorikian
gjtorikian deleted the ci/setup-ruby-major-minor branch October 16, 2026 16:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant