Page MenuHomePhabricator

npm-4 jenkins fails on canvas install
Closed, ResolvedPublic

Event Timeline

It's probably missing these libcairo2-dev libjpeg8-dev libpango1.0-dev libgif-dev packages required by canvas npm package.

OS X brew install pkg-config cairo libpng jpeg giflib
Ubuntu sudo apt-get install libcairo2-dev libjpeg8-dev libpango1.0-dev libgif-dev build-essential g++
Fedora sudo yum install cairo cairo-devel cairomm-devel libjpeg-turbo-devel pango pango-devel pangomm pangomm-devel giflib-devel
Solaris pkgin install cairo pkg-config xproto renderproto kbproto xextproto

Change 313044 had a related patch set uploaded (by Paladox):
nodepool: Add packages libcairo2-dev, libpango1.0-dev and libgif-dev

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

For the context as to how dependencies are installed on the CI slaves see T119693

In puppet.git edit modules/graphoid/manifests/packages.pp and add the missing devs in service::packages { 'graphoid':

@hashar that has already been done, see https://github.com/wikimedia/operations-puppet/blob/3218df65dcc4c9d42ce6deef0e130db817613f58/modules/graphoid/manifests/packages.pp#L13

It wont be added in npm because it is on nodepool I think but I also think it's because npm jenkins test dosent depend on that.

Change 313044 abandoned by Hashar:
nodepool: Add packages libcairo2-dev, libpango1.0-dev and libgif-dev

Reason:
That manifest for Jessie already:

include graphoid::packages

Which covers the dependencies. The real cause is the job run on the wrong Jenkins instances.

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

So the build fails because:

00:00:42.192 ../src/Image.h:19:21: fatal error: gif_lib.h: No such file or directory
00:00:42.192  #include <gif_lib.h>

The puppet class graphoid::packages has the libgif-dev package. BUT it is only applied on Nodepool instances.

Change 313058 had a related patch set uploaded (by Paladox):
Require graphoid::packages in the npm test

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

Change 313061 had a related patch set uploaded (by Hashar):
Bring back npm-node-4 to Nodepool

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

Change 313061 merged by jenkins-bot:
Bring back npm-node-4 to Nodepool

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

hashar claimed this task.

The job has been moved to the proper instances :] Sorry!

This is now fixed as @hashar has brought the tests back to nodepool :)

Change 313058 abandoned by Hashar:
Require graphoid::packages in the npm test

Reason:
Solved differently. This class is really just for javascript base tools (npm/nodejs).

T146783 is fixed, the job was running on the wrong instances.

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