Page MenuHomePhabricator

[Bug] Chromium binary missing in proton's production docker image
Closed, ResolvedPublic

Description

Steps to Reproduce

  • Go to proton root directory
  • Build production image from blubber file
cat .pipeline/blubber.yaml | curl -s -H "Content-Type: application/yaml" --data-binary @- "https://blubberoid.wikimedia.org/v1/production" | docker build --tag proton --file - .
  • Run the container
docker run -it -p "3030:3030" --env APP_ENABLE_CANCELLABLE_PROMISES=true proton

Expected Results

Actual Results

{"name":"proton","hostname":"847a94968a1d","pid":1,"level":60,"err":{"message":"","name":"Error","stack":"Error: ENOENT: no such file or directory, access '/usr/bin/chromium'\n
at Error (native)","code":"ENOENT","cause":{"errno":-2,"code":"ENOENT","syscall":"access","path":"/usr/bin/chromium"},"isOperational":true,"errno":-2,"syscall":"access","path":"/usr/bin/chromium","levelPath":"fatal/service-runner/worker"},"msg":"ENOENT: no such file or directory, access '/usr/bin/chromium'","time":"2019-11-22T02:36:39.232Z","v":0}

Additional notes

  • The other images (development and test) work fine

Event Timeline

Change 552377 had a related patch set uploaded (by MSantos; owner: MSantos):
[mediawiki/services/chromium-render@master] fix: chromium binary missing from prod image

https://gerrit.wikimedia.org/r/552377

Change 552377 merged by jenkins-bot:
[mediawiki/services/chromium-render@master] fix: chromium binary missing from prod image

https://gerrit.wikimedia.org/r/552377

docker run --rm --entrypoint /bin/bash -it docker-registry.wikimedia.org/wikimedia/mediawiki-services-chromium-render:2019-11-22-134049-production 
runuser@5f6d4fdc14f8:/srv/service$ ls
LICENSE    app.js           config.yaml  lib           package.json  scripts    spec.yaml     test
README.md  config.dev.yaml  dist         node_modules  routes        server.js  targets.yaml
runuser@5f6d4fdc14f8:/srv/service$ dpkg -l chromium
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                          Version             Architecture        Description
+++-=============================-===================-===================-===============================================================
ii  chromium                      73.0.3683.75-1~deb9 amd64               web browser

Nice @MSantos !

Noting btw that the nodejs-devel image is stretch based, but this isn't a blocker for the migration itself. I 'll make sure to have buster nodejs-devel images in time though.