Home / Companies / GitHub / Blog / Post Details
Content Deep Dive

Building GitHub with Ruby and Rails

Blog post from GitHub

Post Details
Company
Date Published
Author
Adam Hess
Word Count
1,115
Language
English
Hacker News Points
-
Summary

GitHub's approach to maintaining and upgrading its Ruby on Rails monolith involves a rigorous and automated weekly upgrade process that enhances the platform's resilience and stability. With nearly two million lines of code and over 1,000 engineers collaborating daily, GitHub deploys updates up to 20 times a day and implements a Rails upgrade almost every week. This process begins every Monday with an automated pull request that updates the Rails version, allowing engineers to work on the latest features and improvements. This strategy, which has evolved from months-long migrations to under a week, ensures compatibility with new releases, fosters collaboration with the Rails community, and removes the need for extensive patching. Similarly, GitHub applies a parallel approach to Ruby upgrades, testing new builds alongside production versions to ensure seamless transitions and early identification of potential issues. This continuous upgrade process is supported by a robust test suite and progressive deployment strategies, enabling GitHub to maintain high security and performance standards while contributing valuable feedback to the Ruby core team. The investment in regular upgrades and community collaboration is seen as crucial for sustaining a robust application framework, with GitHub championing the importance of treating these frameworks as integral parts of application development.