Created
March 14, 2012 19:02
-
-
Save ceeram/2038684 to your computer and use it in GitHub Desktop.
Travis configuration file for CakePHP, add to the root of the repo.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
language: php | |
php: | |
- 5.3 | |
- 5.4 | |
env: | |
- DB=mysql | |
- DB=pgsql | |
- DB=sqlite | |
before_script: | |
- sh -c "if [ '$DB' = 'mysql' ]; then mysql -e 'CREATE DATABASE cakephp_test;'; fi" | |
- sh -c "if [ '$DB' = 'mysql' ]; then mysql -e 'CREATE DATABASE cakephp_test2;'; fi" | |
- sh -c "if [ '$DB' = 'mysql' ]; then mysql -e 'CREATE DATABASE cakephp_test3;'; fi" | |
- sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'CREATE DATABASE cakephp_test;' -U postgres; fi" | |
- sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'CREATE SCHEMA test2;' -U postgres -d cakephp_test; fi" | |
- sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'CREATE SCHEMA test3;' -U postgres -d cakephp_test; fi" | |
- chmod -R 777 ./app/tmp | |
- echo "var net = require('net'); | |
var server = net.createServer(); | |
server.listen(80, 'localhost'); | |
console.log('TCP server listening on port 80 at localhost.');" > app/tmp/socket.js | |
- sudo node ./app/tmp/socket.js & | |
- set +H | |
- echo "<?php | |
class DATABASE_CONFIG { | |
private \$identities = array( | |
'mysql' => array( | |
'datasource' => 'Database/Mysql', | |
'host' => '0.0.0.0', | |
'login' => 'travis' | |
), | |
'pgsql' => array( | |
'datasource' => 'Database/Postgres', | |
'host' => '127.0.0.1', | |
'login' => 'postgres', | |
'database' => 'cakephp_test', | |
'schema' => array( | |
'default' => 'public', | |
'test' => 'public', | |
'test2' => 'test2', | |
'test_database_three' => 'test3' | |
) | |
), | |
'sqlite' => array( | |
'datasource' => 'Database/Sqlite', | |
'database' => array( | |
'default' => ':memory:', | |
'test' => ':memory:', | |
'test2' => '/tmp/cakephp_test2.db', | |
'test_database_three' => '/tmp/cakephp_test3.db' | |
), | |
) | |
); | |
public \$default = array( | |
'persistent' => false, | |
'host' => '', | |
'login' => '', | |
'password' => '', | |
'database' => 'cakephp_test', | |
'prefix' => '' | |
); | |
public \$test = array( | |
'persistent' => false, | |
'host' => '', | |
'login' => '', | |
'password' => '', | |
'database' => 'cakephp_test', | |
'prefix' => '' | |
); | |
public \$test2 = array( | |
'persistent' => false, | |
'host' => '', | |
'login' => '', | |
'password' => '', | |
'database' => 'cakephp_test2', | |
'prefix' => '' | |
); | |
public \$test_database_three = array( | |
'persistent' => false, | |
'host' => '', | |
'login' => '', | |
'password' => '', | |
'database' => 'cakephp_test3', | |
'prefix' => '' | |
); | |
public function __construct() { | |
\$db = 'mysql'; | |
if (!empty(\$_SERVER['DB'])) { | |
\$db = \$_SERVER['DB']; | |
} | |
foreach (array('default', 'test', 'test2', 'test_database_three') as \$source) { | |
\$config = array_merge(\$this->{\$source}, \$this->identities[\$db]); | |
if (is_array(\$config['database'])) { | |
\$config['database'] = \$config['database'][\$source]; | |
} | |
if (!empty(\$config['schema']) && is_array(\$config['schema'])) { | |
\$config['schema'] = \$config['schema'][\$source]; | |
} | |
\$this->{\$source} = \$config; | |
} | |
} | |
}" > app/Config/database.php | |
script: | |
- ./lib/Cake/Console/cake test core AllTests --stderr | |
notifications: | |
email: false | |
branches: | |
only: | |
- 2.2-travis |
Travis segfaults on 5.2 and it will be dropped soon.
Travis does not "segfault on 5.2". 5.2 segfaults in 32-bit environments and we do not patch runtimes (especially runtimes we don't have experience with, like PHP).
5.2 causes us major headaches and even though we decided to keep it w/o openssl support on 11.10 for another few months, it will be dropped as soon as we encounter more problems with it. It is not worth the time for us. 5.2.8 is not provided on travis-ci.org and won't be (because even 5.2.17 is problematic enough).
5.2.17 would be fine as well, just to show CakePHP and the tests run on 5.2
I am looking into the segfault, running AllTests without --stderr option won't run into segfaults.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Not 5.2.8?