add nodejs for JS backend CI
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.