news.volyx.in

Building GitHub with Ruby on Rails (github.blog)

660 points by Lukas_Skywalker · 1242 days ago · 318 comments on HN

Article summary

GitHub's application is a Ruby on Rails monolith with nearly two million lines of code, and over 1,000 engineers collaborate on it daily. The company deploys updates as often as 20 times a day, with a new Rails version being deployed nearly every week. This is achieved through an automated pull request workflow that bumps the Rails version to the latest commit on the Rails main branch. The process has evolved significantly from how Rails upgrades were handled in the past, which used to take months to complete.

Main themes

  • Ruby on Rails
  • Software Upgrades
  • Framework Choice
  • Community and Ecosystem
  • Automation and Testing
  • Software Development Best Practices
  • Legacy Code and Technical Debt

What commenters say

  • Regularly upgrading a small application is easier and less likely to cause breaking changes.
  • Having a large and mature community is important for the success and sustainability of a framework.
  • Some developers prefer frameworks like AdonisJS, which takes inspiration from Rails and Laravel, but has a smaller community.
  • Upgrading frameworks can be a significant task, especially if the application is large and complex.
  • Automating upgrades and having a good test coverage can help reduce the risk of breaking changes.
  • The choice of framework depends on the specific needs and goals of the project, and what works for one project may not work for another.
  • Some developers value the stability and maturity of older frameworks like Rails, while others prefer newer and trendier options.
  • The importance of a framework's community and ecosystem should not be underestimated, as it can make a significant difference in the long run.