Browse Source

Merge pull request #4848 from yiisoft/fix-travis

try using the new Docker setup of travis-ci
tags/2.0.0-rc
Carsten Brandt 10 years ago
parent
commit
a12e1630df
  1. 2
      .gitignore
  2. 16
      .travis.yml
  3. 16
      tests/unit/data/sphinx/sphinx.conf
  4. 70
      tests/unit/data/travis/cubrid-setup.sh
  5. 9
      tests/unit/data/travis/mongodb-setup.sh
  6. 23
      tests/unit/data/travis/sphinx-setup.sh

2
.gitignore vendored

@ -14,6 +14,8 @@ Thumbs.db
# composer vendor dir
/vendor
# cubrid install dir
/cubrid
# composer itself is not needed
composer.phar

16
.travis.yml

@ -7,6 +7,9 @@ php:
- hhvm
- hhvm-nightly
env:
- CUBRID_VERSION=9.3.0/CUBRID-9.3.0.0206 CUBRID_PDO_VERSION=9.2.0.0001
# run build against hhvm but allow them to fail
# http://docs.travis-ci.com/user/build-configuration/#Rows-That-are-Allowed-To-Fail
matrix:
@ -21,6 +24,15 @@ services:
- elasticsearch
- mongodb
# faster builds on new travis setup not using sudo
sudo: false
# cache vendor dirs
cache:
directories:
- cubrid
- vendor
# try running against postgres 9.3
addons:
postgresql: "9.3"
@ -35,9 +47,7 @@ install:
- tests/unit/data/travis/memcache-setup.sh
- tests/unit/data/travis/cubrid-setup.sh
# codeception
- composer global require "codeception/codeception=2.0.*"
- composer global require "codeception/specify=*"
- composer global require "codeception/verify=*"
- composer global require "codeception/codeception=2.0.*" "codeception/specify=*" "codeception/verify=*"
# basic and advanced application:
- tests/unit/data/travis/setup-apps.sh

16
tests/unit/data/sphinx/sphinx.conf

@ -68,7 +68,7 @@ source yii2_test_item_delta_src : yii2_test_item_src
index yii2_test_article_index
{
source = yii2_test_article_src
path = /var/lib/sphinx/yii2_test_article
path = SPHINX_BASE_DIR/yii2_test_article
docinfo = extern
charset_type = sbcs
}
@ -77,7 +77,7 @@ index yii2_test_article_index
index yii2_test_item_index
{
source = yii2_test_item_src
path = /var/lib/sphinx/yii2_test_item
path = SPHINX_BASE_DIR/yii2_test_item
docinfo = extern
charset_type = sbcs
}
@ -86,14 +86,14 @@ index yii2_test_item_index
index yii2_test_item_delta_index : yii2_test_item_index
{
source = yii2_test_item_delta_src
path = /var/lib/sphinx/yii2_test_item_delta
path = SPHINX_BASE_DIR/yii2_test_item_delta
}
index yii2_test_rt_index
{
type = rt
path = /var/lib/sphinx/yii2_test_rt
path = SPHINX_BASE_DIR/yii2_test_rt
rt_field = title
rt_field = content
rt_attr_uint = type_id
@ -118,15 +118,15 @@ searchd
{
listen = 127.0.0.1:9312
listen = 9306:mysql41
log = /var/log/sphinx/searchd.log
query_log = /var/log/sphinx/query.log
log = SPHINX_BASE_DIR/searchd.log
query_log = SPHINX_BASE_DIR/query.log
read_timeout = 5
max_children = 30
pid_file = /var/run/sphinx/searchd.pid
pid_file = SPHINX_BASE_DIR/searchd.pid
max_matches = 1000
seamless_rotate = 1
preopen_indexes = 1
unlink_old = 1
workers = threads # for RT to work
binlog_path = /var/lib/sphinx
binlog_path = SPHINX_BASE_DIR
}

70
tests/unit/data/travis/cubrid-setup.sh

@ -7,24 +7,74 @@ if (php --version | grep -i HipHop > /dev/null); then
exit 0
fi
CWD=$(pwd)
# cubrid dbms
echo 'yes' | sudo add-apt-repository ppa:cubrid/cubrid
sudo apt-get update
sudo apt-get install cubrid
/etc/profile.d/cubrid.sh
sudo apt-get install cubrid-demodb
mkdir -p cubrid/$CUBRID_VERSION
cd cubrid
if (test -f $CUBRID_VERSION-linux.x86_64.tar.gz); then
echo "CUBRID is already installed"
else
wget http://ftp.cubrid.org/CUBRID_Engine/$CUBRID_VERSION-linux.x86_64.tar.gz -O $CUBRID_VERSION-linux.x86_64.tar.gz
fi
cd $CUBRID_VERSION
tar xzf ../../$CUBRID_VERSION-linux.x86_64.tar.gz
cd ../..
# setting cubrid env
CUBRID=$CWD/cubrid/$CUBRID_VERSION/CUBRID
CUBRID_DATABASES=$CUBRID/databases
CUBRID_LANG=en_US
ld_lib_path=`printenv LD_LIBRARY_PATH`
if [ "$ld_lib_path" = "" ]
then
LD_LIBRARY_PATH=$CUBRID/lib
else
LD_LIBRARY_PATH=$CUBRID/lib:$LD_LIBRARY_PATH
fi
SHLIB_PATH=$LD_LIBRARY_PATH
LIBPATH=$LD_LIBRARY_PATH
PATH=$CUBRID/bin:$CUBRID/cubridmanager:$PATH
export CUBRID
export CUBRID_DATABASES
export CUBRID_LANG
export LD_LIBRARY_PATH
export SHLIB_PATH
export LIBPATH
export PATH
# start cubrid
cubrid service start
# create and start the demo db
$CUBRID/demo/make_cubrid_demo.sh
cubrid server start demodb
echo ""
echo "Installed CUBRID $CUBRID_VERSION"
echo ""
# cubrid pdo
install_pdo_cubrid() {
wget "http://pecl.php.net/get/PDO_CUBRID-9.2.0.0001.tgz" &&
tar -zxf "PDO_CUBRID-9.2.0.0001.tgz" &&
sh -c "cd PDO_CUBRID-9.2.0.0001 && phpize && ./configure && make && sudo make install"
if (test "! (-f PDO_CUBRID-$CUBRID_PDO_VERSION.tgz)"); then
wget "http://pecl.php.net/get/PDO_CUBRID-$CUBRID_PDO_VERSION.tgz" -O PDO_CUBRID-$CUBRID_PDO_VERSION.tgz
fi
tar -zxf "PDO_CUBRID-$CUBRID_PDO_VERSION.tgz"
sh -c "cd PDO_CUBRID-$CUBRID_PDO_VERSION && phpize && ./configure --prefix=$CWD/cubrid/PDO_CUBRID-$CUBRID_PDO_VERSION && make"
echo "extension=pdo_cubrid.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
echo "extension=$CWD/cubrid/PDO_CUBRID-$CUBRID_PDO_VERSION/modules/pdo_cubrid.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
return $?
}
install_pdo_cubrid > ~/pdo_cubrid.log || ( echo "=== PDO CUBRID BUILD FAILED ==="; cat ~/pdo_cubrid.log )
echo "Installed CUBRID `dpkg -s cubrid |grep Version`"
echo ""
echo "Installed CUBRID PDO $CUBRID_PDO_VERSION"
echo ""
cd ..

9
tests/unit/data/travis/mongodb-setup.sh

@ -2,10 +2,11 @@
#
# install mongodb
mongod --version
echo "extension = mongo.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
sudo sh -c 'echo "setParameter = textSearchEnabled=true" >> /etc/mongodb.conf'
cat /etc/mongodb.conf
mongod --version
# enable text search
mongo --eval 'db.adminCommand( { setParameter: true, textSearchEnabled : true})'
sudo service mongodb restart
cat /etc/mongodb.conf

23
tests/unit/data/travis/sphinx-setup.sh

@ -2,19 +2,26 @@
SCRIPT=$(readlink -f "$0")
CWD=$(dirname "$SCRIPT")
# work around https://github.com/travis-ci/travis-ci/issues/2728
PATH=$PATH:/usr/local/sphinx-2.1.9/bin
mkdir -p sphinx
sed -i s\~SPHINX_BASE_DIR~$PWD/sphinx~g $CWD/../sphinx/sphinx.conf
# log files
sudo mkdir /var/log/sphinx
sudo touch /var/log/sphinx/searchd.log
sudo touch /var/log/sphinx/query.log
sudo chmod -R 777 /var/log/sphinx # ugly (for travis)
#sudo mkdir /var/log/sphinx
#sudo touch /var/log/sphinx/searchd.log
#sudo touch /var/log/sphinx/query.log
#sudo chmod -R 777 /var/log/sphinx # ugly (for travis)
# spl dir
sudo mkdir /var/lib/sphinx
sudo chmod 777 /var/lib/sphinx # ugly (for travis)
#sudo mkdir /var/lib/sphinx
#sudo chmod 777 /var/lib/sphinx # ugly (for travis)
# run dir pid
sudo mkdir /var/run/sphinx
sudo chmod 777 /var/run/sphinx # ugly (for travis)
#sudo mkdir /var/run/sphinx
#sudo chmod 777 /var/run/sphinx # ugly (for travis)
# Setup source database
mysql -D yiitest -u travis < $CWD/../sphinx/source.sql

Loading…
Cancel
Save