Circleci/ruby:2.4-node-browsers Could not find a JavaScript runtime


#1

Edit 3: Nodejs is missing from latest circleci/ruby:2.4-node-browsers as far as I can tell

We have pulled the docker containers at the SHAs I found in the passing and failing builds to our local machine to confirm:

$ docker run -it circleci/ruby@sha256:7f5caec6bc71124a3d81fd9d000df23aa568e52e4be8b697f017b71e305fc9e0  /bin/bash
circleci@088e477b620b:/$ nodejs
> console.log("it is here")
it is here
$ docker run -it circleci/ruby@sha256:211fa62e7688592b7434914e48c5b180288ba9523b995835923191e1032d1b25 /bin/bash
circleci@deec88ee7f18:/$ nodejs
bash: nodejs: command not found

We’re using the circleci/ruby:2.4-node-browsers image to run our test suite which includes poltergeist tests with capybara. This requires a javascript runtime. Up until this afternoon the images worked just find, but the last three builds have failed with the Could not find a JavaScript runtime error while running bundle exec during the migration step.

Here is the commit that began to fail (no changes to gemfile or other requirements) https://github.com/codeforamerica/clientcomm-rails/commit/636f1309218399dfa6202f7649efbc0ebfc3012e

Prior to this commit all tests were passing consistently using capybara and poltergeist on this image.

Edit: By rebuilding with SSH it seems like nodejs is not installed in the container?

circleci@8069c1122354:~$ nodejs
bash: nodejs: command not found
circleci@8069c1122354:~$ sudo apt-get install nodejs
Reading package lists... Done
Building dependency tree
[truncated for your reading pleasure]
Setting up nodejs (0.10.29~dfsg-2) ...
update-alternatives: using /usr/bin/nodejs to provide /usr/bin/js (js) in auto mode
Processing triggers for libc-bin (2.19-18+deb8u10) ...
circleci@8069c1122354:~$ nodejs
> console.log("now it works")
now it works
undefined
>

Edit 2: We’ve confirmed that rebuilding builds on slightly older SHAs of the ruby image still succeed

Failing SHA:

Starting container circleci/ruby:2.4-node-browsers
  using image circleci/ruby@sha256:211fa62e7688592b7434914e48c5b180288ba9523b995835923191e1032d1b25

Passing SHA:

Starting container circleci/ruby:2.4-node-browsers
  using image circleci/ruby@sha256:7f5caec6bc71124a3d81fd9d000df23aa568e52e4be8b697f017b71e305fc9e0

#2

I’m seeing the same thing. I can no longer build. Why would Circle publish a breaking image with the same circleci/ruby:2.4.1-node tag?


#3

This is broken for us as well. The solution is to hard-code the Docker SHA temporarily in your config. CircleCI supposedly posts source code for these builds here but that hasn’t been updated in months.


#4

This topic was automatically closed 41 days after the last reply. New replies are no longer allowed.