]> gitweb.fluxo.info Git - puppet-stdlib.git/commitdiff
Add rake tasks to validate and lint files and check with Travis
authorGarrett Honeycutt <code@garretthoneycutt.com>
Sat, 30 Nov 2013 16:18:43 +0000 (11:18 -0500)
committerGarrett Honeycutt <code@garretthoneycutt.com>
Sat, 30 Nov 2013 16:18:43 +0000 (11:18 -0500)
This patch adds the ability to validate syntax of manifests, templates,
and ruby files in lib/ via `rake validate` and the linting of manifests
with puppet-lint via `rake lint`. These two commands are chained with
running the spec tests in Travis to ensure there are no syntax or style
issues.

.travis.yml
Gemfile
Rakefile

index 1bb18899134efca3be7b22088d00684818b54bb3..8334d42876cdc214d6d125bd11c6e01eac7bfbbb 100644 (file)
@@ -1,6 +1,6 @@
 language: ruby
 bundler_args: --without development
-script: "bundle exec rake spec SPEC_OPTS='--color --format documentation'"
+script: "bundle exec rake validate && bundle exec rake lint && bundle exec rake spec SPEC_OPTS='--color --format documentation'"
 rvm:
   - 1.8.7
   - 1.9.3
diff --git a/Gemfile b/Gemfile
index 636f930ad4170f46fa70ddedf7f083dde4211339..1b788fd28238f2a7caa768e4f7c84661c04fbadb 100644 (file)
--- a/Gemfile
+++ b/Gemfile
@@ -39,4 +39,6 @@ else
   gem 'puppet', :require => false
 end
 
+gem 'puppet-lint', '>= 0.3.2'
+
 # vim:ft=ruby
index 14f1c24622acbaba717085fbc8d1d20786543522..4ed1327a3bef6a47456c46f723315caa6f55af9d 100644 (file)
--- a/Rakefile
+++ b/Rakefile
@@ -1,2 +1,18 @@
 require 'rubygems'
 require 'puppetlabs_spec_helper/rake_tasks'
+require 'puppet-lint/tasks/puppet-lint'
+PuppetLint.configuration.send('disable_80chars')
+PuppetLint.configuration.ignore_paths = ["spec/**/*.pp", "pkg/**/*.pp"]
+
+desc "Validate manifests, templates, and ruby files in lib."
+task :validate do
+  Dir['manifests/**/*.pp'].each do |manifest|
+    sh "puppet parser validate --noop #{manifest}"
+  end
+  Dir['lib/**/*.rb'].each do |lib_file|
+    sh "ruby -c #{lib_file}"
+  end
+  Dir['templates/**/*.erb'].each do |template|
+    sh "erb -P -x -T '-' #{template} | ruby -c"
+  end
+end