Hi,
I added (project.rake_task = "spec:controllers spec:models") in my project
cruise_config.rb file but there is something strange is going on.
1:It invoke the spec:controllers task,some of the tests failed but it does
not start the spec:models task
2:When the build is started i can see that it is executing db:test:purge and
db:test:load twice.Actually it should be doing once.
I am attaching the whole trace which might help you.
Build was manually requested


BUILD LOG
---------
/root/.cruise/projects/
BrandPotion/work root$ ruby -e "require 'rubygems' rescue nil; require
'rake'; load
'/home/amit/cruisecontrol-1.4.0/cruisecontrol-1.4.0/tasks/cc_build.rake';
ARGV << '--nosearch' << '--trace' << 'cc:build'; Rake.application.run;
ARGV.clear"
(in /root/.cruise/projects/BrandPotion/work)
** Invoke cc:build (first_time)
** Execute cc:build
[CruiseControl] Invoking Rake task "spec:controllers"
** Invoke spec:controllers (first_time)
** Invoke db:test:prepare (first_time)
** Invoke db:abort_if_pending_migrations (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:abort_if_pending_migrations
** Execute db:test:prepare
** Invoke db:test:load (first_time)
** Invoke db:test:purge (first_time)
** Invoke environment
** Execute db:test:purge
** Execute db:test:load
** Invoke db:schema:load (first_time)
** Invoke environment
** Execute db:schema:load
** Execute spec:controllers
FFFFFF............FF.............FFFFF..............FF........................F.FFFF............FFF.FFFFFFF.....................................................FFFFFF...............FFF............FFF.............................F.FF.........................FFFFFFFFF..FFFFF..................FF...................FFFF...FF.F.FFF.F...FFF....FFFF...FF.F.FFF.F...FFF.FF.FF.FF......FF.FF..........F...FF..FFFFF.....................FFF........F.................................................................FF.FF.....FF...FFFF...FF.F.FFF.F....FF.FFFFF.F....FFFF...FF.F.FFF.F........FFF..F.FFF.........FFFFF....FF..FFFFF.F...


On Tue, Jan 19, 2010 at 9:58 PM, Brian Guthrie <[email protected]> wrote:

> Hi Amit,
>
> If you'd like CCRB to execute more than one rake task, either place
> them in sequence (project.rake_task = "spec:controllers spec:models")
> or define a custom Rake task that runs both tasks as its prerequisites
> (task :cruise => ["spec:controllers", "spec:models"]). If you define a
> task named cruise in your project then you don't need to manually set
> your project's Rake task.
>
> /contests_controller_spec.rb" --options "/root/.cruise/projects/
BrandPotion/work/spec/spec.opts" failed
/usr/local/lib/ruby/gems/1.8/gems/rspec-1.1.12/lib/spec/rake/spectask.rb:175:in
`define'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1112:in `verbose'
/usr/local/lib/ruby/gems/1.8/gems/rspec-1.1.12/lib/spec/rake/spectask.rb:151:in
`define'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in
`invoke_with_call_chain'
/usr/local/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in
`invoke_with_call_chain'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'
/home/amit/cruisecontrol-1.4.0/cruisecontrol-1.4.0/tasks/cc_build.rake:5:in
`invoke_rake_task'
/home/amit/cruisecontrol-1.4.0/cruisecontrol-1.4.0/tasks/cc_build.rake:31
/home/amit/cruisecontrol-1.4.0/cruisecontrol-1.4.0/tasks/cc_build.rake:31:in
`each'
/home/amit/cruisecontrol-1.4.0/cruisecontrol-1.4.0/tasks/cc_build.rake:31
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in
`invoke_with_call_chain'
/usr/local/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in
`invoke_with_call_chain'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in
`invoke_task'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `each'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in
`standard_exception_handling'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in `run'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in
`standard_exception_handling'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
-e:1

dir : /root/.cruise/projects/BrandPotion/work
command : echo /root/.cruise/projects/BrandPotion/work root$ ruby\ -e\
\"require\ \'rubygems\'\ rescue\ nil\;\ require\ \'rake\'\;\ load\
\'/home/amit/cruisecontrol-1.4.0/cruisecontrol-1.4.0/tasks/cc_build.rake\'\;\
ARGV\ \<\<\ \'--nosearch\'\ \<\<\ \'--trace\'\ \<\<\ \'cc:build\'\;\
Rake.application.run\;\ ARGV.clear\" >>
/root/.cruise/projects/BrandPotion/build-1556.22/build.log && ruby -e
"require 'rubygems' rescue nil; require 'rake'; load
'/home/amit/cruisecontrol-1.4.0/cruisecontrol-1.4.0/tasks/cc_build.rake';
ARGV << '--nosearch' << '--trace' << 'cc:build'; Rake.application.run;
ARGV.clear" >> /root/.cruise/projects/BrandPotion/build-1556.22/build.log
2>&1
exitstatus: 1


PROJECT SETTINGS
----------------
# Project-specific configuration for CruiseControl.rb

Project.configure do |project|
 project.email_notifier.emails = ["[email protected]"]
 project.email_notifier.from = ["[email protected]"]

#  Build the project by invoking rake task 'custom'
 (project.rake_task = 'spec:controllers spec:models')
#  project.rake_task = 'spec:models'

 # Build the project by invoking shell script "build_my_app.sh". Keep in
mind that when the script is invoked,
 # current working directory is
<em>[cruise&nbsp;data]</em>/projects/your_project/work, so if you do not
keep build_my_app.sh
 # in version control, it should be '../build_my_app.sh' instead
 # project.build_command = 'build_my_app.sh'

 # Ping Subversion for new revisions every 5 minutes (default: 30 seconds)
 # project.scheduler.polling_interval = 5.minutes
end

3:How can i define custom rake task mentioned above in my project and how
can i execute that when i build the project?


> Brian
>
> On Tue, Jan 19, 2010 at 8:16 AM, Amit Kulkarni
> <[email protected]> wrote:
> > Hello,
> > I have set up a project and under myproject/cruise_config.rb i had
> written
> > following code:
> > Project.configure do |project|
> >   project.email_notifier.emails = ["[email protected]"]
> >   project.email_notifier.from = ["[email protected]"]
> > #  Build the project by invoking rake task 'custom'
> >   project.rake_task = 'spec:controllers'
> > end
> >
> > This works correctly as it sends me the email and also runs controller
> > specs.
> > Now i what i intended to do is to run model specs as well for the same
> > project.
> >
> > i just added project.rake_task = 'spec:models' after controllers but when
> i
> > build then it runs model spec first and does not run controller specs.
> >
> > Is it the case that if some of my model specs are failing then it will
> not
> > execute controller specs?
> > Please suggest.
> >
> >
> >
> > _______________________________________________
> > Cruisecontrolrb-users mailing list
> > [email protected]
> > http://rubyforge.org/mailman/listinfo/cruisecontrolrb-users
> >
> >
> _______________________________________________
> Cruisecontrolrb-users mailing list
> [email protected]
> http://rubyforge.org/mailman/listinfo/cruisecontrolrb-users
>
_______________________________________________
Cruisecontrolrb-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/cruisecontrolrb-users

Reply via email to