diff --git a/Rakefile b/Rakefile index 238c4388..b0e3b55e 100644 --- a/Rakefile +++ b/Rakefile @@ -2,22 +2,27 @@ task default: ["test"] task :test => [:lint, :style, :unit] +desc "Vendor the cookbooks in the Berksfile" task :berks_prep do sh %{chef exec berks vendor} end +desc "Run FoodCritic (lint) tests" task :lint do sh %{chef exec foodcritic --epic-fail any --tags ~FC003 --tags ~FC023 .} end +desc "Run RuboCop (style) tests" task :style do sh %{chef exec rubocop} end +desc "Run RSpec (unit) tests" task :unit => :berks_prep do sh %{chef exec rspec --format documentation} end +desc "Remove the berks-cookbooks directory and the Berksfile.lock" task :clean do rm_rf [ 'berks-cookbooks', @@ -25,9 +30,14 @@ task :clean do ] end -desc "All-in-One Neutron build Infra" -task :integration do - # Use the berksfile REPO_DEV support to make use of the existing patch clone. +desc "All-in-One Neutron build" +task :integration => :common_integration do + # Noop +end + +desc "Common task used by all cookbooks for integration test" +task :common_integration do + # Use the berksfile support to make use of the existing patch clones. # Make a sym link from workspace/gate-cookbook-openstack-common-chef-rake-integration # to workspace/cookbook-openstack-common patch_dir = Dir.pwd @@ -36,6 +46,6 @@ task :integration do sh %(git clone --depth 1 git://github.com/stackforge/openstack-chef-repo.git ../openstack-chef-repo) Dir.chdir('../openstack-chef-repo') do - sh %(REPO_DEV=ON chef exec rake integration) + sh %(chef exec rake integration) end end