##// END OF EJS Templates
add MariaDB 10.0 environment to travis (#17460, #19344)...
Toshi MARUYAMA -
r13695:fadbadd95bc4
parent child
Show More
@@ -1,44 +1,61
1 1 # Redmine runs tests on own continuous integration server.
2 2 # http://www.redmine.org/projects/redmine/wiki/Continuous_integration
3 3 # You can also run tests on your environment.
4 4 language: ruby
5 5 rvm:
6 6 - 1.9.3
7 7 - 2.0
8 8 - 2.1
9 9 - 2.2
10 10 - jruby
11 11 env:
12 12 - "TEST_SUITE=units DATABASE_ADAPTER=postgresql"
13 13 - "TEST_SUITE=functionals DATABASE_ADAPTER=postgresql"
14 14 - "TEST_SUITE=integration DATABASE_ADAPTER=postgresql"
15 15 - "TEST_SUITE=ui DATABASE_ADAPTER=postgresql"
16 16 - "TEST_SUITE=units DATABASE_ADAPTER=mysql"
17 17 - "TEST_SUITE=functionals DATABASE_ADAPTER=mysql"
18 18 - "TEST_SUITE=integration DATABASE_ADAPTER=mysql"
19 19 - "TEST_SUITE=ui DATABASE_ADAPTER=mysql"
20 - "TEST_SUITE=units DATABASE_ADAPTER=mariadb-10.0"
21 - "TEST_SUITE=functionals DATABASE_ADAPTER=mariadb-10.0"
22 - "TEST_SUITE=integration DATABASE_ADAPTER=mariadb-10.0"
23 - "TEST_SUITE=ui DATABASE_ADAPTER=mariadb-10.0"
20 24 - "TEST_SUITE=units DATABASE_ADAPTER=sqlite3"
21 25 - "TEST_SUITE=functionals DATABASE_ADAPTER=sqlite3"
22 26 - "TEST_SUITE=integration DATABASE_ADAPTER=sqlite3"
23 27 - "TEST_SUITE=ui DATABASE_ADAPTER=sqlite3"
24 28 matrix:
25 29 allow_failures:
26 30 # SCM tests fail randomly due to IO.popen().
27 31 # http://www.redmine.org/issues/19091
28 32 # https://github.com/jruby/jruby/issues/779
29 33 - rvm: jruby
34 # http://www.redmine.org/issues/17460
35 # http://www.redmine.org/issues/19344
36 - env: "TEST_SUITE=units DATABASE_ADAPTER=mariadb-10.0"
30 37 before_install:
31 38 - "sudo apt-get update -qq"
32 39 - "sudo apt-get --no-install-recommends install bzr cvs git mercurial subversion"
40 - if [[ $DATABASE_ADAPTER =~ mariadb ]] ;
41 then
42 sudo service mysql stop ;
43 sudo apt-get install python-software-properties ;
44 sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db ;
45 sudo add-apt-repository 'deb http://ftp.osuosl.org/pub/mariadb/repo/10.0/ubuntu precise main' ;
46 sudo apt-get update ;
47 sudo DEBIAN_FRONTEND=noninteractive apt-get -q --yes --force-yes -f --option DPkg::Options::=--force-confnew install mariadb-server ;
48 sudo apt-get install libmariadbd-dev ;
49 fi
33 50 script:
34 51 - "SCMS=bazaar,cvs,subversion,git,mercurial,filesystem"
35 52 - "export SCMS"
36 53 - "git --version"
37 54 - "bundle install"
38 55 - "RUN_ON_NOT_OFFICIAL='' RUBY_VER=1.9 BRANCH=trunk bundle exec rake config/database.yml"
39 56 - "bundle install"
40 57 - "bundle exec rake ci:setup"
41 58 - phantomjs --webdriver 4444 &
42 59 - JRUBY_OPTS=-J-Xmx1024m bundle exec rake test:${TEST_SUITE}
43 60 notifications:
44 61 email: false
@@ -1,97 +1,97
1 1 desc "Run the Continuous Integration tests for Redmine"
2 2 task :ci do
3 3 # RAILS_ENV and ENV[] can diverge so force them both to test
4 4 ENV['RAILS_ENV'] = 'test'
5 5 RAILS_ENV = 'test'
6 6 Rake::Task["ci:setup"].invoke
7 7 Rake::Task["ci:build"].invoke
8 8 Rake::Task["ci:teardown"].invoke
9 9 end
10 10
11 11 namespace :ci do
12 12 desc "Display info about the build environment"
13 13 task :about do
14 14 puts "Ruby version: #{RUBY_VERSION}-p#{RUBY_PATCHLEVEL} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]"
15 15 end
16 16
17 17 desc "Setup Redmine for a new build"
18 18 task :setup do
19 19 Rake::Task["tmp:clear"].invoke
20 20 Rake::Task["log:clear"].invoke
21 21 Rake::Task["db:create:all"].invoke
22 22 Rake::Task["db:migrate"].invoke
23 23 Rake::Task["db:schema:dump"].invoke
24 24 if scms = ENV['SCMS']
25 25 scms.split(',').each do |scm|
26 26 Rake::Task["test:scm:setup:#{scm}"].invoke
27 27 end
28 28 else
29 29 Rake::Task["test:scm:setup:all"].invoke
30 30 end
31 31 Rake::Task["test:scm:update"].invoke
32 32 end
33 33
34 34 desc "Build Redmine"
35 35 task :build do
36 36 if test_suite = ENV['TEST_SUITE']
37 37 Rake::Task["test:#{test_suite}"].invoke
38 38 else
39 39 Rake::Task["test"].invoke
40 40 end
41 41 # Rake::Task["test:ui"].invoke
42 42 end
43 43
44 44 desc "Finish the build"
45 45 task :teardown do
46 46 end
47 47 end
48 48
49 49 desc "Creates database.yml for the CI server"
50 50 file 'config/database.yml' do
51 51 require 'yaml'
52 52 database = ENV['DATABASE_ADAPTER']
53 53 ruby = ENV['RUBY_VER'].gsub('.', '').gsub('-', '')
54 54 branch = ENV['BRANCH'].gsub('.', '').gsub('-', '')
55 55 dev_db_name = "ci_#{branch}_#{ruby}_dev"
56 56 test_db_name = "ci_#{branch}_#{ruby}_test"
57 57
58 58 case database
59 when 'mysql'
59 when /(mysql|mariadb)/
60 60 dev_conf = {'adapter' => 'mysql2',
61 61 'database' => dev_db_name, 'host' => 'localhost',
62 62 'encoding' => 'utf8'}
63 63 if ENV['RUN_ON_NOT_OFFICIAL']
64 64 dev_conf['username'] = 'root'
65 65 else
66 66 dev_conf['username'] = 'jenkins'
67 67 dev_conf['password'] = 'jenkins'
68 68 end
69 69 test_conf = dev_conf.merge('database' => test_db_name)
70 70 when 'postgresql'
71 71 dev_conf = {'adapter' => 'postgresql', 'database' => dev_db_name,
72 72 'host' => 'localhost'}
73 73 if ENV['RUN_ON_NOT_OFFICIAL']
74 74 dev_conf['username'] = 'postgres'
75 75 else
76 76 dev_conf['username'] = 'jenkins'
77 77 dev_conf['password'] = 'jenkins'
78 78 end
79 79 test_conf = dev_conf.merge('database' => test_db_name)
80 80 when /sqlite3/
81 81 dev_conf = {'adapter' => (Object.const_defined?(:JRUBY_VERSION) ?
82 82 'jdbcsqlite3' : 'sqlite3'),
83 83 'database' => "db/#{dev_db_name}.sqlite3"}
84 84 test_conf = dev_conf.merge('database' => "db/#{test_db_name}.sqlite3")
85 85 when 'sqlserver'
86 86 dev_conf = {'adapter' => 'sqlserver', 'database' => dev_db_name,
87 87 'host' => 'mssqlserver', 'port' => 1433,
88 88 'username' => 'jenkins', 'password' => 'jenkins'}
89 89 test_conf = dev_conf.merge('database' => test_db_name)
90 90 else
91 91 abort "Unknown database"
92 92 end
93 93
94 94 File.open('config/database.yml', 'w') do |f|
95 95 f.write YAML.dump({'development' => dev_conf, 'test' => test_conf})
96 96 end
97 97 end
General Comments 0
You need to be logged in to leave comments. Login now