language: php env: - SETUP_MODE=update - SETUP_MODE=install services: - mysql - memcached - redis before_script: - node --version - npm --version - npm install - npm install grunt-cli jake -g - echo '' > ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini - sh -c 'if [ $(php -r "echo PHP_MINOR_VERSION;") -le 4 ]; then echo "extension = apc.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi;' - sh -c 'if [ $(php -r "echo PHP_MINOR_VERSION;") -le 4 ]; then pecl install redis; fi;' - echo 'extension="memcache.so"' > ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/memcache.ini - echo 'extension="memcached.so"' > ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/memcached.ini - yes | pecl install zmq-beta - yes | pecl install imagick - composer self-update - composer install --dev --prefer-source - wget http://sphinxsearch.com/files/sphinx-2.0.6-release.tar.gz - tar xzf sphinx-2.0.6-release.tar.gz - sh -c "cd sphinx-2.0.6-release && wget http://snowball.tartarus.org/dist/libstemmer_c.tgz && tar xzf libstemmer_c.tgz && ./configure --with-libstemmer --with-iconv --with-mysql --enable-id64 --quiet && make -j --quiet && sudo make install" - sudo mkdir -p /var/sphinx/datas - sudo chmod -R 0777 /var/sphinx - mysql -e 'create database ab_test;create database db_test; create database ab_unitTests; create database db_unitTests;' - sudo mysql -e "GRANT ALL PRIVILEGES ON ab_unitTests.* TO 'phraseaUnitTests'@'localhost' IDENTIFIED BY 'iWvGxPE8' WITH GRANT OPTION" - sudo mysql -e "GRANT ALL PRIVILEGES ON db_unitTests.* TO 'phraseaUnitTests'@'localhost' IDENTIFIED BY 'iWvGxPE8' WITH GRANT OPTION" - mysql -e 'SET @@global.sql_mode= "";' - mysql -e 'SET @@global.wait_timeout= 999999;' - git clone git://github.com/alchemy-fr/Phraseanet-Extension.git - sh -c "cd Phraseanet-Extension && phpize && ./configure --quiet && make -j --quiet && sudo make install" - echo "extension=phrasea2.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"` - git clone git://github.com/alchemy-fr/Phraseanet-Indexer.git - sh -c "cd Phraseanet-Indexer && autoreconf --force --install && ./configure --quiet && make -j --quiet && sudo make install" php: - 5.4 - 5.5 script: - bin/developer system:uninstall - bin/developer dependencies:all --prefer-source - sh -c " if [ '$SETUP_MODE' = 'update' ]; then cp hudson/connexion.inc config/; cp hudson/_GV.php config/; mysql -e 'source `pwd`/hudson/fixtures.sql'; bin/setup system:upgrade -y -v -f; fi" - sh -c " if [ '$SETUP_MODE' = 'install' ]; then bin/setup system:install --email=test@phraseanet.com --password=test --db-user=root --db-template=fr --db-password= --databox=db_test --appbox=ab_test --server-name=http://127.0.0.1 -y; fi" - php hudson/cleanupSubdefs.php #sqlite db generation should occur once Phraseanet is up to date : - bin/developer phraseanet:regenerate-sqlite - grunt test - bin/phpunit