Upgrade Rails 101: The Roadmap to Smooth Upgrades
This year's RailsConf was a special conference for me. It was my third time attending and my first time speaking at the conference. I conducted a 2-hour workshop for anyone interested in upgrading their Rails application: Upgrade Rails 101: The Roadmap to Smooth Upgrades
Here are a few lessons learned from running such an ambitious workshop.
I believe the scope was way too ambitious. I pitched the workshop as an opportunity to bring any Rails application and leave with a roadmap to upgrade to the next version of Rails. As if that was not enough, I told attendees that they could use a sample, open source application to practice our steps to upgrade: https://github.com/alphagov/e-petitions
I should have used only the sample application. As the workshop went on, I found myself addressing issues regarding random Rails applications and the sample application.
All Environments Are Different
When starting the set of exercises, there was a slowdown addressing environment issues. There is always something slightly off about someone's environment that throws a wrench in the works.
This could have been much simpler providing a
Dockerfile and requiring attendees
Docker installed. That way, the setup would
have been something like "just run
docker-compose up" and done.
When describing the steps to create the Rails upgrade roadmap, I should have provided even more detail for every step. For people that were stuck in a step, I could have had branches on my sample Git repository. For each step, I could have had a checklist to make sure that the attendees got to a stage that would not stop them moving forward.
I'm very happy with the feedback I received after the workshop. It was a great experience and I plan to keep conducting this workshop in other conferences. There is certainly room for improvement and I'm sure the next iteration will be even better than the first one.
I will be conducting a new instance of the workshop in the next Southeast Ruby. I hope attendees will learn from our experience and avoid typical mistakes.
Here are the slides from my workshop:
Unfortunately this time the workshops were not recorded, so I won't be able to share a video with my presentation. You can find the companion page for my workshop over here: https://fastruby.io/upgrade.
Finally, if you are interested in upgrading from Rails 2.3 all the way to Rails 5.2 you can read all of our articles from our Rails Upgrades series.