Project

General

Profile

Actions

Support #22922

closed

Upgrade bundler to 2.5.x throughout

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

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

Description

The latest version available as I write this is 2.5.23 and it's the last version to support Ruby 3.0. Upgrading would be helpful because Bundler is a core component of our deployment, and we're currently working around some bugs we've seen in 2.4.22, so we stand to benefit from getting a more recent version that might fix some of those bugs. In all these places from git grep '\b2\.4\.':

build/package-build-dockerfiles/debian11/Dockerfile:    gem install --conservative --version '~> 2.4.0' bundler && \
build/package-build-dockerfiles/debian12/Dockerfile:    gem install --conservative --version '>= 2.4.0' bundler && \
build/package-build-dockerfiles/rocky8/Dockerfile:    gem install --conservative --version '>= 2.4.0' bundler && \
build/package-build-dockerfiles/rocky9/Dockerfile:    gem install --conservative --version '>= 2.4.0' bundler && \
build/package-build-dockerfiles/ubuntu2004/Dockerfile:    gem install --conservative --version '~> 2.4.0' bundler && \
build/package-build-dockerfiles/ubuntu2204/Dockerfile:    gem install --conservative --version '>= 2.4.0' bundler && \
build/package-build-dockerfiles/ubuntu2404/Dockerfile:    gem install --conservative --version '>= 2.4.0' bundler && \
build/package-testing/test-package-arvados-api-server.sh:BUNDLE="$(gem contents --version '~> 2.4.0' bundler | grep -E '/(bin|e
xe)/bundle$' | tail -n1)" 
build/rails-package-scripts/postinst.sh:run_and_report "Installing bundler" gem install --conservative --version '~> 2.4.0' bun
dler
build/rails-package-scripts/postinst.sh:BUNDLE="$(gem contents --version '~> 2.4.0' bundler | grep -E '/(bin|exe)/bundle$' | ta
il -n1)" 
build/run-tests.sh:    gem install --user --no-document --conservative --version '~> 2.4.0' bundler \
build/run-tests.sh:    BUNDLE="$(gem contents --version '~> 2.4.0' bundler | grep -E '/(bin|exe)/bundle$' | tail -n1)" 
lib/boot/passenger.go:  err = super.RunProgram(ctx, appdir, runOptions{}, "gem", "install", "--user", "--conservative", "--no-document", "--version", "~> 2.4.0", "bundler")
lib/install/deps.go:    defaultBundlerVersion     = "~> 2.4.0" 
services/api/Gemfile.lock:   2.4.22
services/api/test/integration/bundler_version_test.rb:    expected = Gem::Dependency.new("", "~> 2.4.22")
tools/arvbox/lib/arvbox/docker/common.sh:    flock $GEMLOCK /var/lib/arvados/bin/gem install --conservative --no-document --user --version '~> 2.4.0' bundler

Subtasks 1 (0 open1 closed)

Task #23130: Review 22922-bundler-2.5ResolvedLucas Di Pentima08/27/2025Actions

Related issues 2 (0 open2 closed)

Blocked by Arvados - Support #22864: Drop support for Ubuntu 20.04 and Debian 11ResolvedBrett SmithActions
Precedes (1 day) Arvados - Idea #23000: Figure out how to consistently target a platformResolvedBrett Smith11/17/2025Actions
Actions #1

Updated by Brett Smith 10 months ago

  • Blocked by Support #22864: Drop support for Ubuntu 20.04 and Debian 11 added
Actions #2

Updated by Peter Amstutz 10 months ago

  • Target version set to Development 2025-06-25
Actions #3

Updated by Peter Amstutz 10 months ago

  • Target version changed from Development 2025-06-25 to Development 2025-07-09
Actions #4

Updated by Brett Smith 10 months ago

  • Description updated (diff)
Actions #5

Updated by Brett Smith 9 months ago

  • Target version deleted (Development 2025-07-09)
Actions #6

Updated by Brett Smith 9 months ago

  • Precedes Idea #23000: Figure out how to consistently target a platform added
Actions #7

Updated by Brett Smith 9 months ago

  • Release set to 79
Actions #8

Updated by Brett Smith 7 months ago

  • Tracker changed from Bug to Feature
Actions #9

Updated by Brett Smith 7 months ago

  • Tracker changed from Feature to Support
Actions #10

Updated by Tom Clegg 7 months ago

  • Target version set to Development 2025-09-03
  • Assigned To set to Tom Clegg
  • Status changed from New to In Progress
Actions #11

Updated by Tom Clegg 7 months ago

  • Subtask #23130 added
Actions #14

Updated by Tom Clegg 7 months ago

  • All agreed upon points are implemented / addressed. Describe changes from pre-implementation design.
    • ✅ Updated bundler version in the various places.
  • Anything not implemented (discovered or discussed during work) has a follow-up story.
    • ✅ n/a
  • Code is tested and passing, both automated and manual, what manual testing was done is described.
    • ✅ build-packages-multijob passed, see above
  • The tested code incorporates recent main branch changes.
  • New or changed UI/UX has gotten feedback from stakeholders.
    • ✅ n/a
  • Documentation has been updated.
    • ✅ n/a
  • Behaves appropriately at the intended scale (describe intended scale).
    • ✅ n/a
  • Considered backwards and forwards compatibility issues between client and server.
    • ✅ n/a
  • Follows our coding standards and GUI style guidelines.
Actions #15

Updated by Lucas Di Pentima 7 months ago

22922-bundler-2.5 LGTM, thanks.

Actions #16

Updated by Tom Clegg 7 months ago

  • Status changed from In Progress to Resolved
Actions #17

Updated by Brett Smith 7 months ago

  • Status changed from Resolved to In Progress

source:services/api/Gemfile.lock still says "BUNDLED WITH: 2.4.22" I think this is significant because it means even where we preinstall Bundler 2.5, when working with the API server, Bundler will see that declaration and automatically download and use 2.4.22. Cleaning that up is an important part of this ticket.

Actions #18

Updated by Tom Clegg 7 months ago

Gemfile.lock is updated in #22920, because bundler update BUNDLED WITH when the gem set changes, but yes, we can also update it here to test packaging with the current gem set.

22922-bundler-2.5 @ c279006b16c460d6dd3faa9b3d9916db08ae0699

developer-run-tests: #4869

build-packages-multijob: #4812

Actions #19

Updated by Brett Smith 7 months ago

Tom Clegg wrote in #note-18:

Gemfile.lock is updated in #22920, because bundler update BUNDLED WITH when the gem set changes

For what it's worth, I would've been totally fine if the answer stopped here. I did think it was important to make sure the requirement didn't get lost, but we don't need to belt-and-suspenders literally everything. Saying "it's being taken care of in this related ticket" is a fine response.

But, since you spun out the separate branch, we might as well take advantage of it just so we have smaller changes.

Actions #20

Updated by Tom Clegg 7 months ago

  • Status changed from In Progress to Resolved
Actions

Also available in: Atom PDF