Skip to content

add nodejs for JS backend CI

jeffrey young requested to merge doyougnu/ci-images:wip/add-nodejs-deb11 into master

After rebasing !9552 to include @TerrorJack changes, the js pipeline fails because it cannot find node on the path of the container. I double checked the container and node and nodejs aren't installed, only emscripten:

╰─λ docker image ls                                                                                                                                                                                0 (0.079s)
REPOSITORY     TAG        IMAGE ID       CREATED          SIZE
deb11_js_ci    latest     5fc2bfc07c28   18 minutes ago   14.2GB
amd64/debian   bullseye   5c8936e57a38   13 days ago      124MB

then I ran the container and queried it:

╰─λ docker exec bc5b6be367997adb2f1d8d009b0741e0308e02a86cb10aad3aaac574f0a83c86 printenv                                                                                                          0 (0.086s)
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=bc5b6be36799
LANG=C.UTF-8
GHC=/opt/ghc/9.4.3/bin/ghc
LLC=/opt/llvm/bin/llc
OPT=/opt/llvm/bin/opt
CABAL=/usr/local/bin/cabal
ALEX=/opt/toolchain/bin/alex
HAPPY=/opt/toolchain/bin/happy
HSCOLOUR=/opt/toolchain/bin/HsColour
EMSDK=/emsdk
HOME=/home/ghc

now we can verify that node is missing:

╰─λ docker exec bc5b6be367997adb2f1d8d009b0741e0308e02a86cb10aad3aaac574f0a83c86 which nodejs                                                                                                      0 (0.078s)
[I] ╭─doyougnu at 7thChamber in /home/doyougnu/programming/haskell/ci-images/dockerfiles/x86_64-linux-deb11 (master …1)
╰─λ docker exec bc5b6be367997adb2f1d8d009b0741e0308e02a86cb10aad3aaac574f0a83c86 which node 
[I] ╭─doyougnu at 7thChamber in /home/doyougnu/programming/haskell/ci-images/dockerfiles/x86_64-linux-deb11 (master …1)

I also double checked all the foo/bin and foo/sbin directories and node wasn't even installed.

Note that emscripten does include a nodejs but this is not sourced onto $PATH and I'm not sure if we want this to always be coupled in the CI anyway.

In any case this MR adds node to the deb11 image. Note that I do not install node from aptitude and instead pin node to node-19. The reasoning for this is that if we just run sudo apt-get nodejs then we end up with node-12-22-LTS which has been end-of-life'd since April 2022.

Merge request reports