-
Notifications
You must be signed in to change notification settings - Fork 1
/
Rakefile
53 lines (46 loc) · 1.62 KB
/
Rakefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
require 'rubygems'
require 'puppetlabs_spec_helper/rake_tasks'
require 'puppet-lint/tasks/puppet-lint'
require 'puppet-syntax/tasks/puppet-syntax'
require 'puppet_blacksmith/rake_tasks'
require 'bundler'
require 'rake/clean'
exclude_paths = [
"pkg/**/*",
"vendor/**/*",
"spec/**/*",
"test/**/*"
]
CLEAN.include('spec/fixtures/')
CLOBBER.include('.tmp', '.librarian', 'Puppetfile.lock')
PuppetLint.configuration.log_format = "%{path}:%{linenumber}:%{check}:%{KIND}:%{message}"
PuppetLint.configuration.send("disable_80chars")
PuppetLint.configuration.send("disable_autoloader_layout")
PuppetLint.configuration.send("disable_quoted_booleans")
PuppetLint.configuration.ignore_paths = exclude_paths
PuppetSyntax.exclude_paths = exclude_paths
task :librarian_spec_prep do
sh "librarian-puppet install --path spec/fixtures/modules --no-use-v1-api"
end
task :spec_prep => :librarian_spec_prep
task :validate => :syntax
task :default => [:spec, :lint]
desc "Run integration tests"
task :integration do
sh "kitchen test all --destroy=always --parallel"
end
desc "Set patch version in metadata.json based on env var TRAVIS_BUILD_NUMBER"
task :set_travis_version do
require 'json'
travis_build_number = ENV['TRAVIS_BUILD_NUMBER']
metadata_json = File.read('metadata.json')
data_hash = JSON.parse(metadata_json)
version = data_hash["version"]
new_version = "#{version.split(".")[0,2].join(".")}.#{travis_build_number}"
data_hash["version"] = new_version
File.open('metadata.json', 'w') do |f|
f.write(JSON.pretty_generate(data_hash))
end
puts "Travis build number: #{travis_build_number}"
puts "New version: #{new_version}"
end