CI Perf Lint

prefer-ruby-33-yjit

Detects repositories that use Ruby 3.2.x in CI and recommends upgrading to Ruby 3.3+ for production-ready YJIT.

Why This Matters

Ruby 3.3 made YJIT production-ready after being experimental in 3.2. With YJIT enabled, Ruby code in CI typically runs 30-60% faster — the single largest performance improvement available without changing application code.

Detection

A finding is emitted when all of the following hold:

  1. The repository Ruby version (from .ruby-version or Gemfile) is 3.2.x.
  2. At least one CI job runs Ruby commands (ruby/setup-ruby, bundle install, bundle exec, rails, rake, rspec).

Not Triggered When

Resolution

Update .ruby-version:

- 3.2.3
+ 3.3.0

Update Gemfile if pinned:

- ruby "~> 3.2.0"
+ ruby "~> 3.3.0"

Enable YJIT in CI:

- run: bundle exec ruby --yjit rspec

Or set the environment variable:

env:
  RUBY_YJIT_ENABLE: "1"

Severity