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)
 |