# example of a 'matrix' set of target versions with garlic # # just for kicks I stuck in all the 2.x stable branches, + some 3 different rspecs # # a better example would be keeping rspec constant, and where you have 2 real # app dependencies garlic do repo 'nested_has_many_through', :path => '.' repo 'rails', :url => 'git://github.com/rails/rails' repo 'rspec', :url => 'git://github.com/dchelimsky/rspec' repo 'rspec-rails', :url => 'git://github.com/dchelimsky/rspec-rails' # target rails versions ['origin/2-2-stable', 'origin/2-1-stable', 'origin/2-0-stable'].each do |rails| # target rspec versions ['1.1.4', '1.1.11', 'origin/master'].each do |rspec| # specify how to prepare app and run CI task target "Rails: #{rails} with Rspec: #{rspec}", :tree_ish => rails do prepare do plugin 'rspec', :tree_ish => rspec plugin 'rspec-rails', :tree_ish => rspec do `script/generate rspec -f` end plugin 'nested_has_many_through', :clone => true end run do cd "vendor/plugins/nested_has_many_through" do sh "rake spec:rcov:verify" end end end end end end