diff options
Diffstat (limited to 'ci')
-rwxr-xr-x | ci/ci_build.rb | 89 | ||||
-rw-r--r-- | ci/ci_setup_notes.txt | 10 | ||||
-rw-r--r-- | ci/site_config.rb | 12 |
3 files changed, 80 insertions, 31 deletions
diff --git a/ci/ci_build.rb b/ci/ci_build.rb index f9933cb922..c3af1f0177 100755 --- a/ci/ci_build.rb +++ b/ci/ci_build.rb @@ -19,88 +19,137 @@ puts "[CruiseControl] Rails build" build_results = {} # Install required version of bundler. -bundler_install_cmd = "sudo gem install bundler --pre --no-ri --no-rdoc" +bundler_install_cmd = "sudo gem install bundler --no-ri --no-rdoc" puts "Running command: #{bundler_install_cmd}" build_results[:install_bundler] = system bundler_install_cmd cd root_dir do puts - puts "[CruiseControl] Bundling RubyGems" + puts "[CruiseControl] Bundling gems" puts - build_results[:bundle] = system 'rm -rf ~/.bundle; env CI=1 bundle update' + build_results[:bundle] = system 'bundle update' end cd "#{root_dir}/activesupport" do puts - puts "[CruiseControl] Building ActiveSupport" + puts "[CruiseControl] Building Active Support" puts build_results[:activesupport] = rake 'test' - # build_results[:activesupport_isolated] = rake 'test:isolated' + build_results[:activesupport_isolated] = rake 'test:isolated' end +system "sudo rm -R #{root_dir}/railties/tmp" cd "#{root_dir}/railties" do puts - puts "[CruiseControl] Building RailTies" + puts "[CruiseControl] Building Railties" puts build_results[:railties] = rake 'test' end cd "#{root_dir}/actionpack" do puts - puts "[CruiseControl] Building ActionPack" + puts "[CruiseControl] Building Action Pack" puts build_results[:actionpack] = rake 'test' - # build_results[:actionpack_isolated] = rake 'test:isolated' + build_results[:actionpack_isolated] = rake 'test:isolated' end cd "#{root_dir}/actionmailer" do puts - puts "[CruiseControl] Building ActionMailer" + puts "[CruiseControl] Building Action Mailer" puts build_results[:actionmailer] = rake 'test' - # build_results[:actionmailer_isolated] = rake 'test:isolated' + build_results[:actionmailer_isolated] = rake 'test:isolated' end cd "#{root_dir}/activemodel" do puts - puts "[CruiseControl] Building ActiveModel" + puts "[CruiseControl] Building Active Model" puts build_results[:activemodel] = rake 'test' - # build_results[:activemodel_isolated] = rake 'test:isolated' + build_results[:activemodel_isolated] = rake 'test:isolated' end rm_f "#{root_dir}/activeresource/debug.log" cd "#{root_dir}/activeresource" do puts - puts "[CruiseControl] Building ActiveResource" + puts "[CruiseControl] Building Active Resource" puts build_results[:activeresource] = rake 'test' - # build_results[:activeresource_isolated] = rake 'test:isolated' + build_results[:activeresource_isolated] = rake 'test:isolated' end rm_f "#{root_dir}/activerecord/debug.log" cd "#{root_dir}/activerecord" do puts - puts "[CruiseControl] Building ActiveRecord with MySQL" + puts "[CruiseControl] Building Active Record with MySQL IM enabled" puts + ENV['IM'] = 'true' build_results[:activerecord_mysql] = rake 'mysql:rebuild_databases', 'mysql:test' - # build_results[:activerecord_mysql_isolated] = rake 'mysql:rebuild_databases', 'mysql:isolated_test' + build_results[:activerecord_mysql_isolated] = rake 'mysql:rebuild_databases', 'mysql:isolated_test' end cd "#{root_dir}/activerecord" do puts - puts "[CruiseControl] Building ActiveRecord with PostgreSQL" + puts "[CruiseControl] Building Active Record with MySQL IM disabled" puts + ENV['IM'] = 'false' + build_results[:activerecord_mysql] = rake 'mysql:rebuild_databases', 'mysql:test' + build_results[:activerecord_mysql_isolated] = rake 'mysql:rebuild_databases', 'mysql:isolated_test' +end + +cd "#{root_dir}/activerecord" do + puts + puts "[CruiseControl] Building Active Record with MySQL2 IM enabled" + puts + ENV['IM'] = 'true' + build_results[:activerecord_mysql2] = rake 'mysql:rebuild_databases', 'mysql2:test' + build_results[:activerecord_mysql2_isolated] = rake 'mysql:rebuild_databases', 'mysql2:isolated_test' +end + +cd "#{root_dir}/activerecord" do + puts + puts "[CruiseControl] Building Active Record with MySQL2 IM disabled" + puts + ENV['IM'] = 'false' + build_results[:activerecord_mysql2] = rake 'mysql:rebuild_databases', 'mysql2:test' + build_results[:activerecord_mysql2_isolated] = rake 'mysql:rebuild_databases', 'mysql2:isolated_test' +end + +cd "#{root_dir}/activerecord" do + puts + puts "[CruiseControl] Building Active Record with PostgreSQL IM enabled" + puts + ENV['IM'] = 'true' + build_results[:activerecord_postgresql8] = rake 'postgresql:rebuild_databases', 'postgresql:test' + build_results[:activerecord_postgresql8_isolated] = rake 'postgresql:rebuild_databases', 'postgresql:isolated_test' +end + +cd "#{root_dir}/activerecord" do + puts + puts "[CruiseControl] Building Active Record with PostgreSQL IM disabled" + puts + ENV['IM'] = 'false' build_results[:activerecord_postgresql8] = rake 'postgresql:rebuild_databases', 'postgresql:test' - # build_results[:activerecord_postgresql8_isolated] = rake 'postgresql:rebuild_databases', 'postgresql:isolated_test' + build_results[:activerecord_postgresql8_isolated] = rake 'postgresql:rebuild_databases', 'postgresql:isolated_test' +end + +cd "#{root_dir}/activerecord" do + puts + puts "[CruiseControl] Building Active Record with SQLite 3 IM enabled" + puts + ENV['IM'] = 'true' + build_results[:activerecord_sqlite3] = rake 'sqlite3:test' + build_results[:activerecord_sqlite3_isolated] = rake 'sqlite3:isolated_test' end cd "#{root_dir}/activerecord" do puts - puts "[CruiseControl] Building ActiveRecord with SQLite 3" + puts "[CruiseControl] Building Active Record with SQLite 3 IM disabled" puts + ENV['IM'] = 'false' build_results[:activerecord_sqlite3] = rake 'sqlite3:test' - # build_results[:activerecord_sqlite3_isolated] = rake 'sqlite3:isolated_test' + build_results[:activerecord_sqlite3_isolated] = rake 'sqlite3:isolated_test' end diff --git a/ci/ci_setup_notes.txt b/ci/ci_setup_notes.txt index b61e893b8e..890f9e8ef6 100644 --- a/ci/ci_setup_notes.txt +++ b/ci/ci_setup_notes.txt @@ -26,8 +26,8 @@ $ sudo shutdown -r now * Update aptitude: $ sudo aptitude update -* Use cinabox to perform rest of ruby/ccrb setup: -* http://github.com/thewoolleyman/cinabox/tree/master/README.txt +* Use cinabox to perform rest of ruby/ccrb setup: +* https://github.com/thewoolleyman/cinabox/tree/master/README.txt # This is not yet properly supported by RubyGems... # * Configure RubyGems to not require root access for gem installation @@ -41,7 +41,7 @@ $ sudo aptitude update # # add these lines: # --- # gemhome: /home/ci/.gem/ruby/1.8 -# gempath: +# gempath: # - /home/ci/.gem/ruby/1.8 * If you did not configure no-root-gem installation via ~/.gemrc as shown above, then allow no-password sudo for gem installation: @@ -89,7 +89,7 @@ Configuration.dashboard_url = 'http://ci.yourdomain.com/' Configuration.serialize_builds = true Configuration.serialized_build_timeout = 1.hours BuildReaper.number_of_builds_to_keep = 100 - + * Copy and configure cruise project config file $ cp ~/.cruise/projects/rails/work/ci/cruise_config.rb ~/.cruise/projects/rails $ vi ~/.cruise/projects/rails/cruise_config.rb: @@ -137,4 +137,4 @@ $ rake postgresql:build_databases * Reboot and make sure everything is working $ sudo shutdown -r now -$ http://ci.yourdomain.com
\ No newline at end of file +$ http://ci.yourdomain.com diff --git a/ci/site_config.rb b/ci/site_config.rb index c08dac8e84..09d5b550e8 100644 --- a/ci/site_config.rb +++ b/ci/site_config.rb @@ -6,10 +6,10 @@ # EMAIL NOTIFICATION # ------------------ -# CruiseControl.rb can notify you about build status via email. It uses the Action Mailer component of Ruby on Rails -# framework. Obviously, Action Mailer needs to know how to send out email messages. +# CruiseControl.rb can notify you about build status via email. It uses the Action Mailer component of Ruby on Rails +# framework. Obviously, Action Mailer needs to know how to send out email messages. # If you have an SMTP server on your network, and it needs no authentication, write this in your site_config.rb: -# +# ActionMailer::Base.smtp_settings = { :address => "localhost", :domain => "ci.rubyonrails.org", @@ -26,8 +26,8 @@ ActionMailer::Base.smtp_settings = { # :user_name => "yourgmailaccount", # :password => "yourgmailpassword" # } -# -# The same approach works for other SMTP servers thet require authentication. Note that GMail's SMTP server runs on a +# +# The same approach works for other SMTP servers thet require authentication. Note that GMail's SMTP server runs on a # non-standard port 587 (standard port for SMTP is 25). # # For further details about configuration of outgoing email, see Ruby On Rails documentation for ActionMailer::Base. @@ -63,7 +63,7 @@ Configuration.serialize_builds = true # Amount of time a project will wait to build before failing when build serialization is on Configuration.serialized_build_timeout = 3.hours -# To delete build when there are more than a certain number present, uncomment this line - it will make the dashboard +# To delete build when there are more than a certain number present, uncomment this line - it will make the dashboard # perform better BuildReaper.number_of_builds_to_keep = 100 |