The Past, Present, and Future of Rails at GitHub
summary
GitHub documents how it pays down a decade of technical debt to move from Rails 3.2 forks onto modern Rails: an initial six‑month, four‑engineer push for 3.x, then a focused four‑person upgrade that moves Rails 4.2 → 5.2 in 5 months using dual‑booting via a Bundler monkeypatch to run multiple Rails versions, deploys with zero downtime, reduces a 4,000+ error build to green, and contributes 60+ upstream PRs while adopting weekly Rails gem bumps to avoid falling behind again.
AI-written summary · about
chapters (24)
- 0:00Intro
- 2:27I'm on the RAILS Core team!
- 3:05Upgrading CRAILS at GitHub
- 3:46The Past, Present, & Future of CRAILS at GitHub
- 5:50Frameworks are extracted, not built.
- 19:20The cost of not upgrading is immeasurable
- 24:43When upgrading you should...
- 25:34take time to make a plan.
- 26:21fix deprecation warnings early.
- 26:59add linters to prevent regressions.
- 27:18When upgrading you should plan for the future.
- 28:48falling behind security supported versions.
- 29:24using old, unsupported gems.
- 29:54using private Rails APIs.
- 30:24You may regret monkey patches.
- 31:46This was my first major upgrade.
- 32:18It's important to remember to pay debt down incrementally.
- 33:13It's important to remember the payoff is worth it.
- 33:30The benefits of upgrading
- 37:3760+ Pull Requests from GitHub
- 38:09Continuous Upgrades
- 39:03Rails 6.0: Multiple database support
- 39:27For the first time in GitHub's history...
- 40:06We have a responsibility to support Rails
related talks
38mThe Past, Present, and Future of Rails at GitHub
38mThe Past, Present and Future of Rails at GitHub
40mThe Past, Present, and Future of Rails at GitHub
06mGitHub - Tal Safran
22mRiding Rails for decades
33mUpgrading a big application to Rails 5
35mChanging the wheels on the bus at 80 mph: Upgrading to Rails 3
36mRuby & Rails Versioning at Scale
