Project

General

Profile

Actions

Support #23094

closed

Update workbench docker image to node 18 and bookworm

Added by Stephen Smith 7 months ago. Updated 6 months ago.

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

Description

Noticed that the github action wasn't running due to bullseye repo changes, I also took the opportunity to bump node from 12 to 18 since I use 18 locally and it seems to work fine.


Subtasks 1 (0 open1 closed)

Task #23095: Review 23094-wb-docker-updateResolvedStephen Smith08/20/2025Actions
Actions #1

Updated by Stephen Smith 7 months ago

  • Target version set to Development 2025-08-21
Actions #2

Updated by Stephen Smith 7 months ago

Changes at arvados|75878923e0da4b696d85a4c17561b19e9dd112ad branch 23094-wb-docker-update
No tests since jenkins doesn't use the WB docker image, but I built it locally and verified component and E2E tests do run

Actions #3

Updated by Stephen Smith 7 months ago

  • Subtask #23095 added
Actions #4

Updated by Stephen Smith 7 months ago

  • Assigned To set to Stephen Smith
Actions #5

Updated by Brett Smith 7 months ago

All of our ops stuff and production deployments are standardized on Node 14.21.3. See, e.g., source:tools/ansible/roles/arvados_nodejs/defaults/main.yml

I am very interested in upgrading this. However, that's something that should be done across the board. So if at all possible, what I'd like to do is:

  1. Docker image gets upgraded to bookworm with Node 14.21.3.
  2. We upgrade everything in the Arvados source tree to the latest Node we know works.

This ticket could be step 1 and then there could be a second ticket for step 2, since we'll need to make sure the Jenkins tests still pass, etc. But if it does I would love to get that upgrade into 3.2.0, and I think you could take it on too; we're pretty good about encoding the version in one place per component where it's easy to update.

Actions #6

Updated by Stephen Smith 7 months ago

Since there is no node14 docker image for bookworm, the plan is now to update to the latest node version that works then update the rest to the same version

Actions #7

Updated by Stephen Smith 7 months ago

Changes at arvados|6cee3e0b2dd0307e04cce79829a321cf6fb9a3e4

It seems the latest we can go with node is v20 due to node-sass v9 which is EOL

I also realized that the node version of the starting image is irrelevant since it gets overwritten by node 14 from server install, so I just switched over the image to plain debian to avoid having red herrings and bumped deps.go to node 20, as well as the version in ansible, and added a note to the WB2-build dockerfile about where node comes from.

I also fixed a flaky test.

I tested:
  • Running component and integration tests using the docker container with v20
  • Running component tests locally outside docker with v20
  • Building production bundle outside docker using v20
  • Ran jenkins (though I'm assuming it needs to have a rebuilt image in order to use the change in version?) developer-run-tests-services-workbench2: #1575
Actions #8

Updated by Brett Smith 7 months ago

Stephen Smith wrote in #note-7:

  • Ran jenkins (though I'm assuming it needs to have a rebuilt image in order to use the change in version?)

Yes. Starting that process at packer-build-jenkins-image-arvados-tests: #141

developer-run-tests: #4851 - Failed on the known FUSE mmap issue, this is not new. LGTM.

Actions #9

Updated by Brett Smith 7 months ago

  • Tracker changed from Task to Support
Actions #10

Updated by Stephen Smith 7 months ago

  • Status changed from In Progress to Resolved
Actions #11

Updated by Brett Smith 6 months ago

  • Release set to 79
Actions

Also available in: Atom PDF