GitHub's upgrade of its main application from Rails 3.2 to Rails 5.2 was a significant achievement that took a year and a half, primarily due to the complexity of the task and the age of the codebase. The process involved careful planning, dual booting with multiple Rails versions, and iterative testing to ensure minimal disruption to users. Key lessons learned included the importance of upgrading early and often, addressing technical debt, and leveraging upstream tools rather than custom solutions. The successful completion of the upgrade not only improved the codebase's health but also allowed GitHub to contribute more to the Rails community, demonstrating the benefits of staying current with software updates.