From 05fba437a37ad2212a720a9ba5caac339a6b35d4 Mon Sep 17 00:00:00 2001 From: Branan Purvine-Riley Date: Tue, 8 May 2012 10:18:52 -0700 Subject: [PATCH] Add configuration for Travis CI --- .gitmodules | 3 --- .travis.yml | 16 ++++++++++++++++ Gemfile | 12 ++++++++++++ Rakefile | 24 +++++++++++++++++++----- spec/fixtures/modules/stdlib | 1 - 5 files changed, 47 insertions(+), 9 deletions(-) delete mode 100644 .gitmodules create mode 100644 .travis.yml create mode 100644 Gemfile delete mode 160000 spec/fixtures/modules/stdlib diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index eb34d3b..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "spec/fixtures/modules/stdlib"] - path = spec/fixtures/modules/stdlib - url = https://github.com/puppetlabs/puppetlabs-stdlib.git diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..a4ec2c1 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,16 @@ +language: ruby +rvm: + - 1.8.7 +before_script: + - "git clone git://github.com/puppetlabs/puppetlabs-stdlib.git spec/fixtures/modules/stdlib" +after_script: +script: "rake spec" +branches: + only: + - master +env: + - PUPPET_VERSION=2.7.13 + - PUPPET_VERSION=2.7.6 + - PUPPET_VERSION=2.6.9 +notifications: + email: false diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..e4be447 --- /dev/null +++ b/Gemfile @@ -0,0 +1,12 @@ +source :rubygems + +puppetversion = ENV.key?('PUPPET_VERSION') ? "= #{ENV['PUPPET_VERSION']}" : ['>= 2.7'] + +gem 'puppet', puppetversion + +group :test do + gem 'rake', '>= 0.9.0' + gem 'rspec', '>= 2.8.0' + gem 'rspec-puppet', '>= 0.1.1' + gem 'mocha', '>= 0.11.0' +end diff --git a/Rakefile b/Rakefile index 705d50d..5cbef6b 100644 --- a/Rakefile +++ b/Rakefile @@ -1,15 +1,29 @@ require 'rake' -require 'puppet-lint/tasks/puppet-lint' +require 'rspec/core/rake_task' task :default => [:spec] desc "Run all module spec tests (Requires rspec-puppet gem)" -task :spec do - system("rspec spec/**/*_spec.rb") +RSpec::Core::RakeTask.new(:spec) do |t| + t.rspec_opts = ['--color'] + t.pattern = 'spec/{classes,defines,unit}/**/*_spec.rb' end -desc "Build package" +desc "Build puppet module package" task :build do - system("puppet-module build") + # This will be deprecated once puppet-module is a face. + begin + Gem::Specification.find_by_name('puppet-module') + rescue Gem::LoadError, NoMethodError + require 'puppet/face' + pmod = Puppet::Face['module', :current] + pmod.build('./') + end end +desc "Check puppet manifests with puppet-lint" +task :lint do + # This requires pull request: https://github.com/rodjek/puppet-lint/pull/81 + system("puppet-lint manifests") + system("puppet-lint tests") +end diff --git a/spec/fixtures/modules/stdlib b/spec/fixtures/modules/stdlib deleted file mode 160000 index a70b09d..0000000 --- a/spec/fixtures/modules/stdlib +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a70b09d5de035de5254ebe6ad6e1519a6d7cf588 -- 2.32.3