Project

General

Profile

Actions

Feature #23310

closed

install-dev-tools has option to install Ruby and Python from source

Added by Brett Smith 4 months ago. Updated about 2 months ago.

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

Description

While working on #23000, I learned that bundle install will resolve gems for the specific version of Ruby that you're running. This means if we always ran bundle install with the oldest version of Ruby we support, we could help prevent situations like upgrading to too-new versions of gems.

Similarly, for a while in my development environment I've installed the oldest version of Python we support, and use it for running Arvados tests, to help ensure I don't accidentally use too-new features. For example, that's how I found 636a597c51c0ddbe204efc06fbea78fbdb329b9d.

Add a boolean flag to install-dev-tools. When set, it installs the oldest versions of Ruby and Python we support from source for development. Install under /opt and add symlinks to /usr/local/bin like we do for other tools like NodeJS. If necessary, extend the development bash profile file to make sure this directory comes first in $PATH.

When unset, install these tools from packages as now. We want to retain the ability to test against the packaged versions that our users will actually deploy with, and this accomplishes that goal. The idea is that developers installing their own development environments will install from source, while we'll install from packages when setting up test images etc.


Files

23310test.log.xz (91.5 KB) 23310test.log.xz Brett Smith, 11/29/2025 04:28 PM

Subtasks 1 (0 open1 closed)

Task #23338: Review 23310-dev-from-sourceResolvedStephen Smith12/02/2025Actions

Related issues 1 (0 open1 closed)

Related to Arvados - Feature #23373: install-dev-tools.yml can set up a test environment on Debian 13ResolvedBrett SmithActions
Actions #1

Updated by Brett Smith 4 months ago

  • Description updated (diff)
Actions #2

Updated by Brett Smith 4 months ago

  • Target version set to Development 2025-12-10
  • Assigned To set to Brett Smith
  • Status changed from New to In Progress
Actions #3

Updated by Brett Smith 4 months ago

  • Subtask #23338 added
Actions #5

Updated by Brett Smith 4 months ago

23310-dev-from-source @ 8f0553e758a6306b4767285d22715fc15d63252e - developer-run-tests: #4962

  • All agreed upon points are implemented / addressed. Describe changes from pre-implementation design.
    • Yes
    • This revealed a couple minor bugs in run-tests.sh that I also fixed.
  • Anything not implemented (discovered or discussed during work) has a follow-up story.
    • #23347
  • Code is tested and passing, both automated and manual, what manual testing was done is described.
    • Using the new playbook, I built a new Debian 12 VM and ran the tests from scratch. On that system, I ran mkdir ~/tmp && build/run-tests.sh --temp ~/tmp --only install && build/run-tests.sh --temp ~/tmp --skip sanity --skip install. See the attached log. The lib/controller/localdb tests are being fixed in #23325. The lib/crunchrun test is because of the way my VM is configured on the host, it's not a problem with any software.
  • Tested code incorporates recent main branch changes.
    • Yes
  • New or changed UI/UX and has gotten feedback from stakeholders.
    • N/A
  • Documentation has been updated.
    • After this merges I can document arvados_dev_from_pkgs on Hacking_prerequisites. That probably makes the most sense.
  • Behaves appropriately at the intended scale (describe intended scale).
    • No change beyond the overhead of building these runtimes. The playbook is smart enough to avoid redundant builds, while building new versions when needed.
  • Considered backwards and forwards compatibility issues between client and server.
    • N/A
  • Follows our coding standards and GUI style guidelines.
    • N/A, no relevant style guide
Actions #6

Updated by Stephen Smith 4 months ago

This lgtm!

Actions #7

Updated by Brett Smith 4 months ago

  • Status changed from In Progress to Resolved
Actions #8

Updated by Brett Smith 4 months ago

Brett Smith wrote in #note-5:

  • After this merges I can document arvados_dev_from_pkgs on Hacking_prerequisites. That probably makes the most sense.

This is done along with some general sprucing up at https://dev.arvados.org/projects/arvados/wiki/Hacking_prerequisites/90

Actions #9

Updated by Brett Smith 3 months ago

  • Related to Feature #23373: install-dev-tools.yml can set up a test environment on Debian 13 added
Actions #10

Updated by Brett Smith about 2 months ago

  • Release set to 84
Actions

Also available in: Atom PDF