Ruby & Rails Versioning at Scale
summary
Shopify automates Rails and Ruby upgrades across 300+ services by combining an upgrade calendar with tooling that patches Dependabot and RuboCop and centralizes Ruby versions in the .ruby-version file. A rails_upgrade gem runs idempotent steps (bump patches, run bin/rails app:update, flip load defaults, regenerate RBI with Tapioca, disallow deprecations) and GitHub Actions create PRs surfaced by the SolidTrack web app. Result: 90+ apps in week one, 96% on Rails 7.1, and production Rails variants shrink from ~20 to two minor versions.
AI-written summary · about
chapters (14)
- 0:00Rails upgrades at Shopify
- 1:05Why Rails upgrades feel hard
- 3:12Rails versioning basics
- 7:01Scaling Rails upgrades
- 8:26Psychological barriers to upgrades
- 12:16Upgrade calendar benefits
- 14:43Communicating upgrade benefits
- 17:34Investments for Rails upgrades
- 19:00Rails upgrade gem
- 23:16Solid Track and GitHub Actions
- 27:12Scaling Ruby upgrades
- 29:02Standardizing Ruby versions
- 33:14Developer feedback and takeaways
- 35:01Closing and Q&A
related talks
33mUpgrading a big application to Rails 5
22mRiding Rails for decades
29mUpgrading Rails at Scale
28mUpgrading Rails: The Non-Technical Parts
35mChanging the wheels on the bus at 80 mph: Upgrading to Rails 3
21mRails Upgrade Mastery: Best Practices for Large-Scale Enterprise Applications
27mScaling Ruby Applications: Challenges, Solutions and Best Practices
54mKeynote: The Success of Ruby on Rails
