2017-04-19 11:25:21 +02:00
require 'puppetlabs_spec_helper/rake_tasks'
2017-11-11 01:55:17 +01:00
# load optional tasks for releases
# only available if gem group releases is installed
begin
require 'puppet_blacksmith/rake_tasks'
require 'voxpupuli/release/rake_tasks'
require 'puppet-strings/tasks'
rescue LoadError
end
2017-04-19 11:25:21 +02:00
PuppetLint . configuration . log_format = '%{path}:%{line}:%{check}:%{KIND}:%{message}'
PuppetLint . configuration . fail_on_warnings = true
PuppetLint . configuration . send ( 'relative' )
PuppetLint . configuration . send ( 'disable_140chars' )
PuppetLint . configuration . send ( 'disable_class_inherits_from_params_class' )
PuppetLint . configuration . send ( 'disable_documentation' )
PuppetLint . configuration . send ( 'disable_single_quote_string_with_variables' )
exclude_paths = %w(
pkg / ** / *
vendor / ** / *
. vendor / ** / *
spec / ** / *
)
PuppetLint . configuration . ignore_paths = exclude_paths
PuppetSyntax . exclude_paths = exclude_paths
2018-01-03 23:46:17 +01:00
desc 'Auto-correct puppet-lint offenses'
task 'lint:auto_correct' do
PuppetLint . configuration . fix = true
Rake :: Task [ :lint ] . invoke
end
2017-04-19 11:25:21 +02:00
desc 'Run acceptance tests'
RSpec :: Core :: RakeTask . new ( :acceptance ) do | t |
t . pattern = 'spec/acceptance'
end
desc 'Run tests metadata_lint, release_checks'
task test : [
:metadata_lint ,
:release_checks ,
]
2017-11-11 01:55:17 +01:00
desc " Run main 'test' task and report merged results to coveralls "
task test_with_coveralls : [ :test ] do
if Dir . exist? ( File . expand_path ( '../lib' , __FILE__ ) )
require 'coveralls/rake/task'
Coveralls :: RakeTask . new
Rake :: Task [ 'coveralls:push' ] . invoke
else
puts 'Skipping reporting to coveralls. Module has no lib dir'
end
end
2018-01-03 23:46:17 +01:00
desc " Print supported beaker sets "
task 'beaker_sets' , [ :directory ] do | t , args |
directory = args [ :directory ]
metadata = JSON . load ( File . read ( 'metadata.json' ) )
( metadata [ 'operatingsystem_support' ] || [ ] ) . each do | os |
( os [ 'operatingsystemrelease' ] || [ ] ) . each do | release |
if directory
beaker_set = " #{ directory } / #{ os [ 'operatingsystem' ] . downcase } - #{ release } "
else
beaker_set = " #{ os [ 'operatingsystem' ] . downcase } - #{ release } -x64 "
end
filename = " spec/acceptance/nodesets/ #{ beaker_set } .yml "
puts beaker_set if File . exists? filename
end
end
end
2017-04-19 11:25:21 +02:00
begin
require 'github_changelog_generator/task'
GitHubChangelogGenerator :: RakeTask . new :changelog do | config |
version = ( Blacksmith :: Modulefile . new ) . version
2017-09-15 23:31:43 +02:00
config . future_release = " v #{ version } " if version =~ / ^ \ d+ \ . \ d+. \ d+$ /
config . header = " # Changelog \n \n All notable changes to this project will be documented in this file. \n Each new release typically also includes the latest modulesync defaults. \n These should not affect the functionality of the module. "
config . exclude_labels = %w{ duplicate question invalid wontfix wont-fix modulesync skip-changelog }
config . user = 'voxpupuli'
2017-11-11 01:55:17 +01:00
metadata_json = File . join ( File . dirname ( __FILE__ ) , 'metadata.json' )
metadata = JSON . load ( File . read ( metadata_json ) )
config . project = metadata [ 'name' ]
2017-04-19 11:25:21 +02:00
end
rescue LoadError
end
# vim: syntax=ruby