aboutsummaryrefslogtreecommitdiffstats
path: root/ci/ci_build.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ci/ci_build.rb')
-rwxr-xr-xci/ci_build.rb64
1 files changed, 36 insertions, 28 deletions
diff --git a/ci/ci_build.rb b/ci/ci_build.rb
index 0ee952c00b..7ae660fb7d 100755
--- a/ci/ci_build.rb
+++ b/ci/ci_build.rb
@@ -1,12 +1,18 @@
#!/usr/bin/env ruby
require 'fileutils'
-
include FileUtils
-puts "[CruiseControl] Rails build"
+def root_dir
+ @root_dir ||= File.expand_path('../..', __FILE__)
+end
+
+def rake(*tasks)
+ tasks.each { |task| return false unless system("#{root_dir}/bin/rake", task) }
+ true
+end
+puts "[CruiseControl] Rails build"
build_results = {}
-root_dir = File.expand_path('../..', __FILE__)
# Requires gem home and path to be writeable and/or overridden to be ~/.gem,
# Will enable when RubyGems supports this properly (in a coming release)
@@ -20,44 +26,44 @@ cd root_dir do
puts
puts "[CruiseControl] Bundling RubyGems"
puts
- build_results[:bundle] = system 'rm -rf vendor && gem bundle --update'
+ build_results[:bundle] = system 'rm -rf vendor && env CI=1 gem bundle --update && chmod 755 bin vendor vendor/gems'
end
cd "#{root_dir}/activesupport" do
puts
puts "[CruiseControl] Building ActiveSupport"
puts
- build_results[:activesupport] = system 'rake'
- build_results[:activesupport_isolated] = system 'rake test:isolated'
+ build_results[:activesupport] = rake 'test'
+ build_results[:activesupport_isolated] = rake 'test:isolated'
end
-rm_f "#{root_dir}/activerecord/debug.log"
-cd "#{root_dir}/activerecord" do
+cd "#{root_dir}/railties" do
puts
- puts "[CruiseControl] Building ActiveRecord with MySQL"
+ puts "[CruiseControl] Building RailTies"
puts
- build_results[:activerecord_mysql] = system 'rake mysql:rebuild_databases && rake test_mysql'
+ build_results[:railties] = rake 'test'
end
-cd "#{root_dir}/activerecord" do
+cd "#{root_dir}/actionpack" do
puts
- puts "[CruiseControl] Building ActiveRecord with PostgreSQL"
+ puts "[CruiseControl] Building ActionPack"
puts
- build_results[:activerecord_postgresql8] = system 'rake postgresql:rebuild_databases && rake test_postgresql'
+ build_results[:actionpack] = rake 'test'
+ build_results[:actionpack_isolated] = rake 'test:isolated'
end
-cd "#{root_dir}/activerecord" do
+cd "#{root_dir}/actionmailer" do
puts
- puts "[CruiseControl] Building ActiveRecord with SQLite 3"
+ puts "[CruiseControl] Building ActionMailer"
puts
- build_results[:activerecord_sqlite3] = system 'rake test_sqlite3'
+ build_results[:actionmailer] = rake 'test'
end
cd "#{root_dir}/activemodel" do
puts
puts "[CruiseControl] Building ActiveModel"
puts
- build_results[:activemodel] = system 'rake'
+ build_results[:activemodel] = rake 'test'
end
rm_f "#{root_dir}/activeresource/debug.log"
@@ -65,29 +71,29 @@ cd "#{root_dir}/activeresource" do
puts
puts "[CruiseControl] Building ActiveResource"
puts
- build_results[:activeresource] = system 'rake'
+ build_results[:activeresource] = rake 'test'
end
-cd "#{root_dir}/actionpack" do
+rm_f "#{root_dir}/activerecord/debug.log"
+cd "#{root_dir}/activerecord" do
puts
- puts "[CruiseControl] Building ActionPack"
+ puts "[CruiseControl] Building ActiveRecord with MySQL"
puts
- build_results[:actionpack] = system 'rake'
- build_results[:actionpack_isolated] = system 'rake test:isolated'
+ build_results[:activerecord_mysql] = rake 'mysql:rebuild_databases', 'test_mysql'
end
-cd "#{root_dir}/actionmailer" do
+cd "#{root_dir}/activerecord" do
puts
- puts "[CruiseControl] Building ActionMailer"
+ puts "[CruiseControl] Building ActiveRecord with PostgreSQL"
puts
- build_results[:actionmailer] = system 'rake'
+ build_results[:activerecord_postgresql8] = rake 'postgresql:rebuild_databases', 'test_postgresql'
end
-cd "#{root_dir}/railties" do
+cd "#{root_dir}/activerecord" do
puts
- puts "[CruiseControl] Building RailTies"
+ puts "[CruiseControl] Building ActiveRecord with SQLite 3"
puts
- build_results[:railties] = system 'rake'
+ build_results[:activerecord_sqlite3] = rake 'test_sqlite3'
end
@@ -100,6 +106,8 @@ puts "[CruiseControl] #{`mysql --version`}"
puts "[CruiseControl] #{`pg_config --version`}"
puts "[CruiseControl] SQLite3: #{`sqlite3 -version`}"
`gem env`.each_line {|line| print "[CruiseControl] #{line}"}
+puts "[CruiseControl] Bundled gems:"
+`gem bundle --list`.each_line {|line| print "[CruiseControl] #{line}"}
puts "[CruiseControl] Local gems:"
`gem list`.each_line {|line| print "[CruiseControl] #{line}"}