diff options
author | Garrett Honeycutt <code@garretthoneycutt.com> | 2013-11-30 11:18:43 -0500 |
---|---|---|
committer | Garrett Honeycutt <code@garretthoneycutt.com> | 2013-11-30 11:18:43 -0500 |
commit | 9226037e4e1a3648f8b6809726612acae3046d74 (patch) | |
tree | 5d6f633e676860ae6e2a7ffaa0c78e229b1d5ba3 | |
parent | 44c181ec0e230768b8dce10de57f9b32638e66e1 (diff) |
Add rake tasks to validate and lint files and check with Travis
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.
-rw-r--r-- | .travis.yml | 2 | ||||
-rw-r--r-- | Gemfile | 2 | ||||
-rw-r--r-- | Rakefile | 16 |
3 files changed, 19 insertions, 1 deletions
diff --git a/.travis.yml b/.travis.yml index 1bb1889..8334d42 100644 --- a/.travis.yml +++ b/.travis.yml @@ -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 @@ -39,4 +39,6 @@ else gem 'puppet', :require => false end +gem 'puppet-lint', '>= 0.3.2' + # vim:ft=ruby @@ -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 |