Running GitHub on Rails 6.0

On August 26, 2019, the GitHub application was deployed to production with 100% of traffic on the newest Rails version: 6.0. Read more about our process for upgrading, what we learned, and what’s next.

Eileen M. Uchitelle
4 min readbeginner
--
View Original

Overview

The article discusses GitHub's successful deployment of Rails 6.0, highlighting the significant contributions made by GitHub engineers and the smooth upgrade process. It emphasizes the benefits of staying current with framework updates, including improved performance, security, and community contributions.

What You'll Learn

1

How to effectively upgrade a Rails application to a new version without impacting production

2

Why contributing to open source frameworks like Rails enhances both internal and community development

3

How to implement a weekly upgrade process to catch regressions early in the development cycle

Key Questions Answered

What was the impact of upgrading GitHub to Rails 6.0?
Upgrading to Rails 6.0 had a positive impact, with only one exception occurring during testing, which was caused by a bot. This indicates a high level of stability achieved through GitHub's proactive involvement in the upgrade process.
How did GitHub contribute to the Rails 6.0 release?
GitHub engineers contributed over 100 pull requests to Rails 6.0, improving documentation, fixing bugs, and adding features. This involvement not only benefited GitHub but also enhanced the Rails community by sharing well-tested code.
What process did GitHub use to upgrade to Rails 6.0?
GitHub began upgrading to Rails 6.0 weekly after completing the Rails 5.2 upgrade. They pulled in the latest changes from Rails master, allowing them to identify regressions quickly and maintain stability throughout the upgrade.
What are the benefits of staying current with the Rails framework?
Staying current with Rails provides benefits such as enhanced security, improved performance, and access to new features. It also allows GitHub to influence the framework's future development and contribute positively to the open source community.

Key Statistics & Figures

Pull requests contributed to Rails 6.0
over 100
This reflects GitHub's significant involvement in the development of the Rails framework.
Exceptions during testing
1
Only one exception was encountered during the testing phase, which was caused by a bot, indicating a smooth upgrade process.

Technologies & Tools

Some links below are affiliate links. We may earn a commission if you make a purchase.

Key Actionable Insights

1
Implement a weekly upgrade process for your Rails applications to catch regressions early.
This proactive approach allows developers to identify issues shortly after they are introduced, making it easier to maintain application stability and performance.
2
Encourage your engineering team to contribute to open source projects like Rails.
Contributing not only improves the framework but also enhances your team's skills and fosters a sense of community, leading to better collaboration and innovation.
3
Prioritize involvement in major framework releases to ensure stability during upgrades.
By being actively engaged in the development of the framework, your team can anticipate changes and prepare your application accordingly, minimizing disruptions during upgrades.

Common Pitfalls

1
Failing to regularly upgrade dependencies can lead to significant technical debt and regressions.
Many teams wait too long to upgrade, resulting in a backlog of changes that can complicate the upgrade process and introduce more bugs.