Continuous Integration of Framework Head
Upgrading Shopify to Rails 5 - Shopify

Upgrading Shopify to Rails 5 - Shopify

6/20/2017

What this post added

This post details the significant effort and technical challenges involved in upgrading Shopify's monolith from Rails 4.2 to Rails 5.0. Key technical contributions include: developing a 'dual' Gemfile and Gemfile.lock strategy to support both Rails versions simultaneously during the upgrade; setting up a parallel CI pipeline to test against both versions, which doubled CI infrastructure demand; implementing conditional logic in the codebase to handle version-specific behaviors; and a phased rollout strategy using Docker containers to mitigate production risks. The post also highlights lessons learned regarding cache serialization issues with Marshal and YAML, and the performance impact of deprecation warnings in production.

Read the original post ↗