Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

travis-ci script

I'm trying to setup phing to work with travis-ci, but I can't get it to run a setup script to get all the dependencies installed.

My .travis.yml file is:

language: php
php:
  - 5.2
script: ./.travis-phing.sh

In travis, I get the error:

/home/travis/build.sh: line 105: ./.travis-phing.sh: Permission denied

What is causing that?

like image 932
Genu Avatar asked Mar 22 '13 13:03

Genu


2 Answers

Solved

The script to be set to execute. I used:

chmod a+x .travis-phing.sh

Then simply commit, and push back to github.

like image 98
Genu Avatar answered Sep 22 '22 16:09

Genu


Run the script using bash

Another option would be to run the script using bash, this would omit the need to modify the files' permissions.

bash path/to/file.sh

Alternatively:

sh path/to/file.sh

Note that

In this case you're not executing the script itself, you're executing bash or sh which then runs the script. Therefore the script does not need to be executable.

Make sense?


I've found this solution incredibly useful myself. I'm mainly running node & npm projects on travis-ci, those builds make use of the npm test command which you can configure to be anything.

I'm order to modify file permission I need to use sudo chmod ... on my local machine. But you can't always use sudo on travis-ci.

sh file.sh allows me to run my tests both locally and on travis-ci without having to manually update permissions.

like image 42
Jesse van der Pluijm Avatar answered Sep 23 '22 16:09

Jesse van der Pluijm