(Solved) Travis build failing before starting


#1

Has something changed in Travis?

I only just started using it and have had successful builds on a trivial project.

After minor changes that affect documentation I get :

node start_test.js

events.js:72
        throw er; // Unhandled 'error' event
              ^

Error: spawn ENOENT
     at errnoException (child_process.js:1011:11)
     at Process.ChildProcess._handle.onexit (child_process.js:802:34)
make: *** [test] Error 8

The command "make test" exited with 2.

I do not see what that has to do with my code.

My .travis.yml refers to http://git.io/ejPSng. Is that still the correct one? I see that it refers to meteorite which I thought was obsolete now.

npm install -g meteorite


#2

I find three references to this error on Google and all three point to a missing / broken PhantomJS.

The script http://git.io/ejPSng wgets a file https://raw.github.com/arunoda/travis-ci-meteor-packages/master/phantom_runner.js which contains a console.log() statement. The script seems never to reach that statement.


#3

Am I seriously the only one having this problem?


#4

I just got this same error as well today for the first time.

@arunoda do you know anything about this? Thanks!


#5

Nope. I haven’t got this.
@mitar knows much better than the stuff in this area.


#6

The culprit is the script http://install.meteor.com

The quick fix is to add sudo: required to your file, .travis.yml

What’s wrong?

Travis is asked to load and execute the script at http://git.io/ejPSng
Which in turn loads and executes https://install.meteor.com
That script defines /usr/local as an installation path PREFIX
The location requires root privileges.

I can only guess that Travis changed the permissions rules recently.

Why so few others are hitting this is beyond my guess range.

@krstffr Thanks for jumping in. I thought I was all alone Boo Hoo Hoooooo.


#7

Thank YOU @warehouseman for finding it before me and also solving it! :+1:


#8

Hey, send me a PR.


#9

They will find the issue at the next update, so when Travis will rebuild the project

@arunoda You just need to add a line https://github.com/grigio/meteor-babel/blob/master/.travis.yml


#10

#11

UPDATE : Travis builds now sport an exciting announcement :

This job ran on our legacy infrastructure. Please read our docs on how to upgrade

When you go to, Migrating from legacy to container-based infrastructure, they offer the following tl;dr

Add sudo: false to travis.yml and you’re set.

Ignore it. Doing that will just get you back to the original raison d’être for this thread.

Between now and when they eliminate “legacy” builds, the Meteor community is going to be forced to enhance the installer called by travis.yml to provide cached directories and or build-from-source scripts.

Sorry to say, my knowledge is inadequate for volunteering to do it. @arunoda, @grigio, @mitar Who is the current champion of this, please?


#12

We just moved to use CircleCI: https://circleci.com/


#13

@warehouseman currently Travis do not support “sudo” so it isn’t possible to test with them


#14

I have been doing TinyTests in Travis for 4 months, by setting sudo: required as I described above.

The point of my recent post is that their announcement of a new container system, does not appear to change things.