From 7cae43314ae28d28955c782da444427a34f7df08 Mon Sep 17 00:00:00 2001 From: Eric Davis Date: Thu, 19 Aug 2010 04:31:36 +0000 Subject: [PATCH] Merged r3919 from trunk. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.0-stable@3969 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- lib/tasks/ci.rake | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 lib/tasks/ci.rake diff --git a/lib/tasks/ci.rake b/lib/tasks/ci.rake new file mode 100644 index 00000000..09257531 --- /dev/null +++ b/lib/tasks/ci.rake @@ -0,0 +1,41 @@ +desc "Run the Continous Integration tests for Redmine" +task :ci do + # RAILS_ENV and ENV[] can diverge so force them both to test + ENV['RAILS_ENV'] = 'test' + RAILS_ENV = 'test' + Rake::Task["ci:setup"].invoke + Rake::Task["ci:build"].invoke + Rake::Task["ci:teardown"].invoke +end + +# Tasks can be hooked into by redefining them in a plugin +namespace :ci do + desc "Setup Redmine for a new build." + task :setup do + Rake::Task["ci:dump_environment"].invoke + Rake::Task["db:create"].invoke + Rake::Task["db:migrate"].invoke + Rake::Task["db:schema:dump"].invoke + end + + desc "Build Redmine" + task :build do + Rake::Task["test"].invoke + end + + # Use this to cleanup after building or run post-build analysis. + desc "Finish the build" + task :teardown do + end + + desc "Dump the environment information to a BUILD_ENVIRONMENT ENV variable for debugging" + task :dump_environment do + + ENV['BUILD_ENVIRONMENT'] = ['ruby -v', 'gem -v', 'gem list'].collect do |command| + result = `#{command}` + "$ #{command}\n#{result}" + end.join("\n") + + end +end +