ci: make sure npm is installed in tests

Also update node to version 10.
27 jobs for master in 7 minutes and 46 seconds (queued for 3 seconds)
Status Name Job ID Coverage
  Test
failed py3.5-min-mysql #487527

00:03:33

failed py3.5-min-postgresql #487519

00:02:16

failed py3.5-min-sqlite #487521

00:02:54

failed py3.5-pypi-mysql #487528

00:02:40

failed py3.5-pypi-postgresql #487522

00:02:47

failed py3.5-pypi-sqlite #487520

00:02:29

failed py3.6-min-mysql #487529

00:02:55

failed py3.6-min-postgresql #487525

00:01:34

failed py3.6-min-sqlite #487526

00:02:58

failed py3.6-pypi-mysql #487530

00:03:00

failed py3.6-pypi-postgresql #487524

00:02:04

failed py3.6-pypi-sqlite #487523

00:03:22

passed test-docs #487486

00:03:54

failed py3.5-min-mysql #487478

00:04:28

failed py3.5-min-postgresql #487476

00:02:27

failed py3.5-min-sqlite #487474

00:03:11

failed py3.5-pypi-mysql #487479

00:04:25

failed py3.5-pypi-postgresql #487477

00:02:58

failed py3.5-pypi-sqlite #487475

00:03:01

failed py3.6-min-mysql #487484

00:02:14

failed py3.6-min-postgresql #487482

00:02:11

failed py3.6-min-sqlite #487480

00:03:12

failed py3.6-pypi-mysql #487485

00:04:34

failed py3.6-pypi-postgresql #487483

00:02:07

failed py3.6-pypi-sqlite #487481

00:01:44

 
  Coverage
skipped global-coverage #487487
 
  Deploy
skipped pages #487488
 
Name Stage Failure
failed
py3.5-pypi-postgresql Test
Running after script...
$ mv .coverage .coverage.${CI_JOB_ID}
mv: cannot stat '.coverage': No such file or directory
Uploading artifacts for failed job
Uploading artifacts...
WARNING: /builds/rodare/invenio-uploadbyurl/report.xml: no matching files
ERROR: No files to upload
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

failed
py3.5-min-postgresql Test
Running after script...
$ mv .coverage .coverage.${CI_JOB_ID}
mv: cannot stat '.coverage': No such file or directory
Uploading artifacts for failed job
Uploading artifacts...
WARNING: /builds/rodare/invenio-uploadbyurl/report.xml: no matching files
ERROR: No files to upload
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

failed
py3.6-min-postgresql Test
Running after script...
$ mv .coverage .coverage.${CI_JOB_ID}
mv: cannot stat '.coverage': No such file or directory
Uploading artifacts for failed job
Uploading artifacts...
WARNING: /builds/rodare/invenio-uploadbyurl/report.xml: no matching files
ERROR: No files to upload
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

failed
py3.6-pypi-postgresql Test
Running after script...
$ mv .coverage .coverage.${CI_JOB_ID}
mv: cannot stat '.coverage': No such file or directory
Uploading artifacts for failed job
Uploading artifacts...
WARNING: /builds/rodare/invenio-uploadbyurl/report.xml: no matching files
ERROR: No files to upload
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

failed
py3.6-pypi-sqlite Test
Running after script...
$ mv .coverage .coverage.${CI_JOB_ID}
mv: cannot stat '.coverage': No such file or directory
Uploading artifacts for failed job
Uploading artifacts...
WARNING: /builds/rodare/invenio-uploadbyurl/report.xml: no matching files
ERROR: No files to upload
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

failed
py3.6-min-sqlite Test
Running after script...
$ mv .coverage .coverage.${CI_JOB_ID}
mv: cannot stat '.coverage': No such file or directory
Uploading artifacts for failed job
Uploading artifacts...
WARNING: /builds/rodare/invenio-uploadbyurl/report.xml: no matching files
ERROR: No files to upload
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

failed
py3.5-pypi-mysql Test
Running after script...
$ mv .coverage .coverage.${CI_JOB_ID}
mv: cannot stat '.coverage': No such file or directory
Uploading artifacts for failed job
Uploading artifacts...
WARNING: /builds/rodare/invenio-uploadbyurl/report.xml: no matching files
ERROR: No files to upload
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

failed
py3.6-min-mysql Test
Running after script...
$ mv .coverage .coverage.${CI_JOB_ID}
mv: cannot stat '.coverage': No such file or directory
Uploading artifacts for failed job
Uploading artifacts...
WARNING: /builds/rodare/invenio-uploadbyurl/report.xml: no matching files
ERROR: No files to upload
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

failed
py3.5-pypi-sqlite Test
Running after script...
$ mv .coverage .coverage.${CI_JOB_ID}
mv: cannot stat '.coverage': No such file or directory
Uploading artifacts for failed job
Uploading artifacts...
WARNING: /builds/rodare/invenio-uploadbyurl/report.xml: no matching files
ERROR: No files to upload
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

failed
py3.5-min-sqlite Test
Running after script...
$ mv .coverage .coverage.${CI_JOB_ID}
mv: cannot stat '.coverage': No such file or directory
Uploading artifacts for failed job
Uploading artifacts...
WARNING: /builds/rodare/invenio-uploadbyurl/report.xml: no matching files
ERROR: No files to upload
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

failed
py3.6-pypi-mysql Test
Running after script...
$ mv .coverage .coverage.${CI_JOB_ID}
mv: cannot stat '.coverage': No such file or directory
Uploading artifacts for failed job
Uploading artifacts...
WARNING: /builds/rodare/invenio-uploadbyurl/report.xml: no matching files
ERROR: No files to upload
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

failed
py3.5-min-mysql Test
Running after script...
$ mv .coverage .coverage.${CI_JOB_ID}
mv: cannot stat '.coverage': No such file or directory
Uploading artifacts for failed job
Uploading artifacts...
WARNING: /builds/rodare/invenio-uploadbyurl/report.xml: no matching files
ERROR: No files to upload
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1