Knife-Zero doesn't include Berkshelf support, so vendoring everything in the repo is convenient again
		
			
				
	
	
		
			66 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
#!/usr/bin/env rake
 | 
						|
 | 
						|
# Style tests. cookstyle (rubocop) and Foodcritic
 | 
						|
namespace :style do
 | 
						|
  begin
 | 
						|
    require 'cookstyle'
 | 
						|
    require 'rubocop/rake_task'
 | 
						|
 | 
						|
    desc 'Run Ruby style checks'
 | 
						|
    RuboCop::RakeTask.new(:ruby)
 | 
						|
  rescue LoadError => e
 | 
						|
    puts ">>> Gem load error: #{e}, omitting #{task.name}" unless ENV['CI']
 | 
						|
  end
 | 
						|
 | 
						|
  begin
 | 
						|
    require 'foodcritic'
 | 
						|
 | 
						|
    desc 'Run Chef style checks'
 | 
						|
    FoodCritic::Rake::LintTask.new(:chef) do |t|
 | 
						|
      t.options = {
 | 
						|
        fail_tags: ['any'],
 | 
						|
        progress: true,
 | 
						|
      }
 | 
						|
    end
 | 
						|
  rescue LoadError
 | 
						|
    puts ">>> Gem load error: #{e}, omitting #{task.name}" unless ENV['CI']
 | 
						|
  end
 | 
						|
end
 | 
						|
 | 
						|
desc 'Run all style checks'
 | 
						|
task style: ['style:chef', 'style:ruby']
 | 
						|
 | 
						|
# ChefSpec
 | 
						|
begin
 | 
						|
  desc 'Run ChefSpec examples'
 | 
						|
  require 'rspec/core/rake_task'
 | 
						|
  RSpec::Core::RakeTask.new(:spec)
 | 
						|
rescue LoadError => e
 | 
						|
  puts ">>> Gem load error: #{e}, omitting #{task.name}" unless ENV['CI']
 | 
						|
end
 | 
						|
 | 
						|
# Integration tests. Kitchen.ci
 | 
						|
namespace :integration do
 | 
						|
  begin
 | 
						|
    require 'kitchen/rake_tasks'
 | 
						|
 | 
						|
    desc 'Run kitchen integration tests'
 | 
						|
    Kitchen::RakeTasks.new
 | 
						|
  rescue StandardError => e
 | 
						|
    puts ">>> Gem load error: #{e}, omitting #{task.name}" unless ENV['CI']
 | 
						|
  end
 | 
						|
end
 | 
						|
 | 
						|
namespace :supermarket do
 | 
						|
  begin
 | 
						|
    desc 'Publish cookbook to Supermarket with Stove'
 | 
						|
    require 'stove/rake_task'
 | 
						|
    Stove::RakeTask.new
 | 
						|
  rescue LoadError => e
 | 
						|
    puts ">>> Gem load error: #{e}, omitting #{task.name}" unless ENV['CI']
 | 
						|
  end
 | 
						|
end
 | 
						|
 | 
						|
# Default
 | 
						|
task default: %w(style spec)
 |