From 337b043c9373014b034b79c487f70594ebb6a910 Mon Sep 17 00:00:00 2001 From: Chad Woolley Date: Sun, 24 Aug 2008 16:25:05 +0200 Subject: Include the CI configuration and setup instructions. This should make it easy to set up your own copy of the CI environment, and easier for us to keep ours running. --- ci/ci_build.rb | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100755 ci/ci_build.rb (limited to 'ci/ci_build.rb') diff --git a/ci/ci_build.rb b/ci/ci_build.rb new file mode 100755 index 0000000000..049f7b7975 --- /dev/null +++ b/ci/ci_build.rb @@ -0,0 +1,117 @@ +#!/usr/bin/env ruby +require 'fileutils' + +include FileUtils + +puts "[CruiseControl] Rails build" + +build_results = {} +root_dir = File.expand_path(File.dirname(__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) +# build_results[:geminstaller] = system 'geminstaller --exceptions' + +# for now, use the no-passwd sudoers approach (documented in ci_setup_notes.txt) +# A security hole, but there is nothing valuable on rails CI box anyway. +build_results[:geminstaller] = system 'sudo geminstaller --exceptions' + +cd "#{root_dir}/activesupport" do + puts + puts "[CruiseControl] Building ActiveSupport" + puts + build_results[:activesupport] = system 'rake' +end + +cd "#{root_dir}/activerecord" do + puts + puts "[CruiseControl] Building ActiveRecord with MySQL" + puts + build_results[:activerecord_mysql] = system 'rake test_mysql' +end + +# Postgres is disabled until tests are fixed +# cd "#{root_dir}/activerecord" do +# puts +# puts "[CruiseControl] Building ActiveRecord with PostgreSQL" +# puts +# build_results[:activerecord_postgresql8] = system 'rake test_postgresql' +# end + +# Sqlite2 is disabled until tests are fixed +# cd "#{root_dir}/activerecord" do +# puts +# puts "[CruiseControl] Building ActiveRecord with SQLite 2" +# puts +# build_results[:activerecord_sqlite] = system 'rake test_sqlite' +# end + +cd "#{root_dir}/activerecord" do + puts + puts "[CruiseControl] Building ActiveRecord with SQLite 3" + puts + build_results[:activerecord_sqlite3] = system 'rake test_sqlite3' +end + +cd "#{root_dir}/activemodel" do + puts + puts "[CruiseControl] Building ActiveModel" + puts + build_results[:activemodel] = system 'rake' +end + +cd "#{root_dir}/activeresource" do + puts + puts "[CruiseControl] Building ActiveResource" + puts + build_results[:activeresource] = system 'rake' +end + +cd "#{root_dir}/actionpack" do + puts + puts "[CruiseControl] Building ActionPack" + puts + build_results[:actionpack] = system 'rake' +end + +cd "#{root_dir}/actionmailer" do + puts + puts "[CruiseControl] Building ActionMailer" + puts + build_results[:actionmailer] = system 'rake' +end + +cd "#{root_dir}/railties" do + puts + puts "[CruiseControl] Building RailTies" + puts + build_results[:railties] = system 'rake' +end + + +puts +puts "[CruiseControl] Build environment:" +puts "[CruiseControl] #{`cat /etc/issue`}" +puts "[CruiseControl] #{`uname -a`}" +puts "[CruiseControl] #{`ruby -v`}" +puts "[CruiseControl] #{`mysql --version`}" +puts "[CruiseControl] #{`pg_config --version`}" +puts "[CruiseControl] SQLite2: #{`sqlite -version`}" +puts "[CruiseControl] SQLite3: #{`sqlite3 -version`}" +`gem env`.each {|line| print "[CruiseControl] #{line}"} +puts "[CruiseControl] Local gems:" +`gem list`.each {|line| print "[CruiseControl] #{line}"} + +failures = build_results.select { |key, value| value == false } + +if failures.empty? + puts + puts "[CruiseControl] Rails build finished sucessfully" + exit(0) +else + puts + puts "[CruiseControl] Rails build FAILED" + puts "[CruiseControl] Failed components: #{failures.map { |component| component.first }.join(', ')}" + exit(-1) +end + -- cgit v1.2.3 From fb20d6f09d5e91280bf2b5888a7299b50dba7a7b Mon Sep 17 00:00:00 2001 From: Chad Woolley Date: Sun, 24 Aug 2008 17:23:39 -0700 Subject: properly reference geminstaller config under ci dir --- ci/ci_build.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ci/ci_build.rb') diff --git a/ci/ci_build.rb b/ci/ci_build.rb index 049f7b7975..7d9cf679e2 100755 --- a/ci/ci_build.rb +++ b/ci/ci_build.rb @@ -14,7 +14,7 @@ root_dir = File.expand_path(File.dirname(__FILE__) + "/..") # for now, use the no-passwd sudoers approach (documented in ci_setup_notes.txt) # A security hole, but there is nothing valuable on rails CI box anyway. -build_results[:geminstaller] = system 'sudo geminstaller --exceptions' +build_results[:geminstaller] = system 'sudo geminstaller --config=#{root_dir}/ci/geminstaller.yml --exceptions' cd "#{root_dir}/activesupport" do puts -- cgit v1.2.3 From 289e3b90728cacdb96d61e721b30de566a0a8134 Mon Sep 17 00:00:00 2001 From: Chad Woolley Date: Mon, 25 Aug 2008 18:49:45 -0700 Subject: use double quotes --- ci/ci_build.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ci/ci_build.rb') diff --git a/ci/ci_build.rb b/ci/ci_build.rb index 7d9cf679e2..446daba840 100755 --- a/ci/ci_build.rb +++ b/ci/ci_build.rb @@ -14,7 +14,7 @@ root_dir = File.expand_path(File.dirname(__FILE__) + "/..") # for now, use the no-passwd sudoers approach (documented in ci_setup_notes.txt) # A security hole, but there is nothing valuable on rails CI box anyway. -build_results[:geminstaller] = system 'sudo geminstaller --config=#{root_dir}/ci/geminstaller.yml --exceptions' +build_results[:geminstaller] = system "sudo geminstaller --config=#{root_dir}/ci/geminstaller.yml --exceptions" cd "#{root_dir}/activesupport" do puts -- cgit v1.2.3 From 86bf279b8912302a019c0ce0e47252e8e825c11e Mon Sep 17 00:00:00 2001 From: Michael Koziarski Date: Tue, 26 Aug 2008 12:14:07 +0200 Subject: Re enable CI for postgresql --- ci/ci_build.rb | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'ci/ci_build.rb') diff --git a/ci/ci_build.rb b/ci/ci_build.rb index 446daba840..79afcbeb1e 100755 --- a/ci/ci_build.rb +++ b/ci/ci_build.rb @@ -30,13 +30,13 @@ cd "#{root_dir}/activerecord" do build_results[:activerecord_mysql] = system 'rake test_mysql' end -# Postgres is disabled until tests are fixed -# cd "#{root_dir}/activerecord" do -# puts -# puts "[CruiseControl] Building ActiveRecord with PostgreSQL" -# puts -# build_results[:activerecord_postgresql8] = system 'rake test_postgresql' -# end +Postgres is disabled until tests are fixed +cd "#{root_dir}/activerecord" do + puts + puts "[CruiseControl] Building ActiveRecord with PostgreSQL" + puts + build_results[:activerecord_postgresql8] = system 'rake test_postgresql' +end # Sqlite2 is disabled until tests are fixed # cd "#{root_dir}/activerecord" do -- cgit v1.2.3 From bb557b44e9b0dc0dbb5ca7a4a8645f4af14f8021 Mon Sep 17 00:00:00 2001 From: Michael Koziarski Date: Tue, 26 Aug 2008 12:21:48 +0200 Subject: Be more careful --- ci/ci_build.rb | 1 - 1 file changed, 1 deletion(-) (limited to 'ci/ci_build.rb') diff --git a/ci/ci_build.rb b/ci/ci_build.rb index 79afcbeb1e..7b9cdceb27 100755 --- a/ci/ci_build.rb +++ b/ci/ci_build.rb @@ -30,7 +30,6 @@ cd "#{root_dir}/activerecord" do build_results[:activerecord_mysql] = system 'rake test_mysql' end -Postgres is disabled until tests are fixed cd "#{root_dir}/activerecord" do puts puts "[CruiseControl] Building ActiveRecord with PostgreSQL" -- cgit v1.2.3