redmine/.travis.yml
Toshi MARUYAMA f9b2d30b4b travis: use quotation for dpkg command
git-svn-id: http://svn.redmine.org/redmine/trunk@14829 e93f8b46-1217-0410-a6f0-8f06a7374b81
2015-11-07 14:04:12 +00:00

162 lines
6.8 KiB
YAML

# Redmine runs tests on own continuous integration server.
# http://www.redmine.org/projects/redmine/wiki/Continuous_integration
# You can also run tests on your environment.
language: ruby
rvm:
- 1.9.3
- 2.0
- 2.1
- 2.2
- jruby-9.0.1.0
- jruby
env:
- "SUITE=units DB=postgresql"
- "SUITE=functionals DB=postgresql"
- "SUITE=integration DB=postgresql"
- "SUITE=ui DB=postgresql"
- "SUITE=units DB=postgresql-8.4"
- "SUITE=functionals DB=postgresql-8.4"
- "SUITE=integration DB=postgresql-8.4"
- "SUITE=ui DB=postgresql-8.4"
- "SUITE=units DB=postgresql-9.1"
- "SUITE=functionals DB=postgresql-9.1"
- "SUITE=integration DB=postgresql-9.1"
- "SUITE=ui DB=postgresql-9.1"
- "SUITE=units DB=postgresql-9.2"
- "SUITE=functionals DB=postgresql-9.2"
- "SUITE=integration DB=postgresql-9.2"
- "SUITE=ui DB=postgresql-9.2"
- "SUITE=units DB=postgresql-9.3"
- "SUITE=functionals DB=postgresql-9.3"
- "SUITE=integration DB=postgresql-9.3"
- "SUITE=ui DB=postgresql-9.3"
- "SUITE=units DB=postgresql-9.4"
- "SUITE=functionals DB=postgresql-9.4"
- "SUITE=integration DB=postgresql-9.4"
- "SUITE=ui DB=postgresql-9.4"
- "SUITE=units DB=postgresql-9.5"
- "SUITE=functionals DB=postgresql-9.5"
- "SUITE=integration DB=postgresql-9.5"
- "SUITE=ui DB=postgresql-9.5"
- "SUITE=units DB=mysql-5.5"
- "SUITE=functionals DB=mysql-5.5"
- "SUITE=integration DB=mysql-5.5"
- "SUITE=ui DB=mysql-5.5"
- "SUITE=units DB=mysql-5.6"
- "SUITE=functionals DB=mysql-5.6"
- "SUITE=integration DB=mysql-5.6"
- "SUITE=ui DB=mysql-5.6"
- "SUITE=units DB=mysql-5.7-dmr"
- "SUITE=functionals DB=mysql-5.7-dmr"
- "SUITE=integration DB=mysql-5.7-dmr"
- "SUITE=ui DB=mysql-5.7-dmr"
- "SUITE=units DB=mariadb-5.5"
- "SUITE=functionals DB=mariadb-5.5"
- "SUITE=integration DB=mariadb-5.5"
- "SUITE=ui DB=mariadb-5.5"
- "SUITE=units DB=mariadb-10.0"
- "SUITE=functionals DB=mariadb-10.0"
- "SUITE=integration DB=mariadb-10.0"
- "SUITE=ui DB=mariadb-10.0"
- "SUITE=units DB=sqlite3"
- "SUITE=functionals DB=sqlite3"
- "SUITE=integration DB=sqlite3"
- "SUITE=ui DB=sqlite3"
matrix:
allow_failures:
# http://www.redmine.org/issues/20251
- env: "SUITE=ui DB=postgresql"
- env: "SUITE=ui DB=mysql-5.5"
- env: "SUITE=ui DB=mysql-5.6"
- env: "SUITE=ui DB=mysql-5.7-dmr"
- env: "SUITE=ui DB=mariadb-5.5"
- env: "SUITE=ui DB=mariadb-10.0"
- env: "SUITE=ui DB=sqlite3"
- env: "SUITE=units DB=mysql-5.7-dmr"
- env: "SUITE=functionals DB=mysql-5.7-dmr"
- env: "SUITE=integration DB=mysql-5.7-dmr"
- env: "SUITE=ui DB=postgresql-8.4"
- env: "SUITE=ui DB=postgresql-9.1"
- env: "SUITE=ui DB=postgresql-9.2"
- env: "SUITE=ui DB=postgresql-9.3"
- env: "SUITE=ui DB=postgresql-9.4"
- env: "SUITE=ui DB=postgresql-9.5"
- rvm: jruby-9.0.1.0
# SCM tests fail randomly due to IO.popen().
# http://www.redmine.org/issues/19091
# https://github.com/jruby/jruby/issues/779
- rvm: jruby
# http://www.redmine.org/issues/17460
# http://www.redmine.org/issues/19344
- env: "SUITE=units DB=mysql-5.6"
- env: "SUITE=units DB=mysql-5.7-dmr"
- env: "SUITE=units DB=mariadb-5.5"
- env: "SUITE=units DB=mariadb-10.0"
before_install:
# https://github.com/travis-ci/travis-ci/issues/4720
- if [[ ${TRAVIS_RUBY_VERSION} =~ jruby-9\.0 ]] ;
then
rvm get master ;
rvm use ${TRAVIS_RUBY_VERSION} --install ;
ruby --version ;
fi
- "sudo apt-get update -qq"
- "sudo apt-get --no-install-recommends install bzr cvs git mercurial subversion"
- dpkg -l '*mysql*'
- if [[ $DB =~ (mariadb|mysql-5\.[67]) ]] ;
then
sudo service mysql stop ;
sudo apt-get install python-software-properties ;
if [[ $DB =~ mariadb ]] ;
then
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db ;
MARIADB_VER=`echo $DB | sed -e 's/mariadb-//'` ;
sudo add-apt-repository ''"deb http://ftp.osuosl.org/pub/mariadb/repo/${MARIADB_VER}/ubuntu precise main"'' ;
sudo cp test/travis/mariadb.pref /etc/apt/preferences.d/mariadb.pref ;
sudo apt-get update ;
sudo DEBIAN_FRONTEND=noninteractive apt-get -q --yes --force-yes -f --option DPkg::Options::=--force-confnew install mariadb-server ;
sudo apt-get install libmariadbd-dev ;
else
echo mysql-apt-config mysql-apt-config/enable-repo select $DB | sudo debconf-set-selections ;
wget http://dev.mysql.com/get/mysql-apt-config_0.2.1-1ubuntu12.04_all.deb ;
sudo dpkg --install mysql-apt-config_0.2.1-1ubuntu12.04_all.deb ;
sudo apt-get update -q ;
sudo apt-get install -q -y -o Dpkg::Options::=--force-confnew mysql-server ;
fi
elif [[ $DB =~ postgresql ]] ;
then
if [[ $DB =~ postgresql- ]] ;
then
PG_VER=`echo $DB | sed -e 's/postgresql-//'` ;
sudo service postgresql stop ;
sudo apt-get -y -qq --purge remove postgresql libpq-dev libpq5 postgresql-client-common postgresql-common ;
sudo rm -rf /var/lib/postgresql ;
sudo sh -c "echo deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main ${PG_VER} >> /etc/apt/sources.list.d/pgdg.list" ;
wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add - ;
sudo apt-get update -qq ;
sudo apt-get -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::="--force-confnew" install postgresql-${PG_VER} postgresql-contrib-${PG_VER} postgresql-server-dev-${PG_VER} ;
echo "local all all trust" | sudo tee /etc/postgresql/${PG_VER}/main/pg_hba.conf ;
echo "host all all 127.0.0.1/32 trust" | sudo tee -a /etc/postgresql/${PG_VER}/main/pg_hba.conf ;
echo "host all all ::1/128 trust" | sudo tee -a /etc/postgresql/${PG_VER}/main/pg_hba.conf ;
sudo service postgresql restart ;
fi ;
psql --version ;
psql -c "SHOW SERVER_VERSION" -U postgres ;
psql -c "SHOW SERVER_ENCODING" -U postgres ;
psql -c "SHOW DateStyle" -U postgres ;
fi
- sudo sh -x test/travis/install-openldap.sh
script:
- export DATABASE_ADAPTER=${DB}
- "SCMS=bazaar,cvs,subversion,git,mercurial,filesystem"
- "export SCMS"
- "git --version"
- "bundle install"
- "RUN_ON_NOT_OFFICIAL='' RUBY_VER=1.9 BRANCH=trunk bundle exec rake config/database.yml"
- "bundle install"
- "bundle exec rake ci:setup"
- phantomjs --webdriver 4444 &
- JRUBY_OPTS='-J-Xmx1024m -J-XX:MaxPermSize=1024m' bundle exec rake test:${SUITE}
notifications:
email: false