Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Tired of upgrading to the latest Ruby version every new year? Just have the latest Ruby version already running! Ruby head is the latest commit to the main branch of Ruby on Github. It’s dangerous to run our Rails app on Ruby head, but we can run Ruby head on application tests. We'll build Ruby head on a Docker image and run it with tests on Buildkite. Along the way, we'll learn about using Docker, jemalloc (an an alternate malloc implementation) and why it's important to your team and the Ruby community to do this work.
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the video titled 'Building Ruby Head for your Rails App,' presented by Maple Ong at RailsConf 2023, the importance of maintaining the latest Ruby version for Rails applications is explored. Ruby head, representing the latest commit on Ruby's GitHub main branch, is highlighted as a useful tool for developers who wish to stay ahead of potential issues caused by version obsolescence. Key points discussed include: - **Importance of Upgrading Ruby**: Regular updates ensure access to new features, bug fixes, security patches, and performance improvements. Running outdated versions poses risks as dependencies and community support dwindle over time. - **Gusto's Experience**: The speaker shares Gusto's journey from upgrading Ruby 2.7 to 3.1, detailing challenges such as database timeouts during tests, which stemmed from changes in Active Record's connection pool behavior in newer Ruby versions. - **Ruby Head Implementation**: Running Ruby head on application tests via a CI/CD setup allows developers to address issues as they arise and to adapt gradually rather than undertaking large, disruptive upgrade projects. Employing two parallel pipelines (one for production and one for Ruby head) is recommended. - **Benefits of Gradual Upgrades**: Incremental upgrading allows for reduced debugging complexity, early addressing of deprecations, and continuous maintenance which distributes workload more effectively across the development team. - **Setting Up Ruby Head with Docker**: The video details how to build Ruby head locally and within Docker, alongside integrating it into CI systems. Using Docker offers consistency across different environments and simplifies management of dependencies. - **JEmalloc Overview**: Although briefly touched upon, the benefits and implementation of the JEmalloc memory allocator to improve performance in Ruby applications, especially those that are memory-intensive and multi-threaded, are also discussed. The key takeaway from the talk is that actively maintaining and upgrading to Ruby head not only keeps Ruby applications robust but also enhances developer productivity and reduces risk in the long term. By adopting these practices, developers can participate in the ongoing evolution of Ruby and contribute to its community improvements.
Suggest modifications
Cancel