Project

General

Profile

Actions

Support #21700

closed

Remove RVM support from our build process and packages

Added by Brett Smith 7 months ago. Updated 7 months ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Deployment
Due date:
Story points:
-
Release:
Release relationship:
Auto

Description

Broken out of #21524#note-19

In general I believe our attempt to "standardize" on Bundler 2.2.19 is a farce. We install it a lot but it's only setting a minimum version. Running the bundler command will pick up the latest version, which is >2.2.19 on every distro after debian11. And when it's >=2.3.0, Bundler will standardize itself on the version in Gemfile.lock, which is currently 2.4.19. And all this is true both when we build packages and when they get installed. And note when we build packages what matters is the version of Bundler that came with the Ruby we installed with RVM, not the distro Ruby.

I would like to expand the scope of this ticket to be a bunch of Ruby build cleanup:

  • Stop using RVM in our package build Dockerfiles, just use the distro Ruby to better match the install environment.
  • Make our "standard" Bundler install gem install --conservative --version '>=2.4.0' bundler. As long as we have some version matching that then I think we can rely on Bundler's own lock behavior to take us the rest of the way.
  • Add an API server test that Bundler is locked to version 2.4.X, because 2.5.0 drops support for Ruby 2.7.
  • Standardize API server on Bundler 2.4.22, because that's the last 2.4.X release so why not.

I'll be honest, I have no idea whether or not this will actually fix anything for test-provision-ubuntu2004, but I still want to do it because:

  • At this point I've read enough to be confident this is the right approach.
  • All the RVM stuff in our package builds is historical cruft that isn't doing anything for us anymore. Removing it would be easier to maintain long-term and also speed up package builds.
  • It would make this stuff easier to debug because then instead of trying to "standardize" our Bundler version in twenty different places we can trust that the version in Gemfile.lock is the one that actually matters.

Subtasks 1 (0 open1 closed)

Task #21715: Review 21700-remove-rvmResolvedBrett Smith04/26/2024Actions

Related issues

Related to Arvados - Idea #21522: Stop using RVM in package-build-dockerfilesClosedActions
Related to Arvados - Bug #21906: Seemingly duplicate Gem directories after installing arvados-api-serverResolvedBrett SmithActions
Actions

Also available in: Atom PDF