Support #23094
closedUpdate workbench docker image to node 18 and bookworm
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.
Updated by Stephen Smith 7 months ago
- Target version set to Development 2025-08-21
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
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:
- Docker image gets upgraded to bookworm with Node 14.21.3.
- 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.
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
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
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.
Updated by Stephen Smith 7 months ago
- Status changed from In Progress to Resolved