Skip to content

Commit

Permalink
Merge pull request #167 from xbezdick/juno
Browse files Browse the repository at this point in the history
Run travis tests only on changed modules
  • Loading branch information
strider committed Dec 6, 2014
2 parents 88fc03b + 751df30 commit 6f7c632
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 12 deletions.
11 changes: 11 additions & 0 deletions .travis.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/bash
set -ev
MODS="$(git diff HEAD~1 Puppetfile | grep ^- -B2 | grep mod | cut -d"'" -f2)"
rake validate_puppetfile SPEC_OPTS='--format documentation --color --backtrace' || exit 1
for module in ${MODS}; do
if [ -e ./${module}/Rakefile ]; then
rake test_modules[./${module}/Rakefile] SPEC_OPTS='--format documentation --color --backtrace' || exit 1
else
echo "Missing ./${module}/Rakefile, not running spec tests."
fi
done
9 changes: 1 addition & 8 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,12 @@
language: ruby
install:
- gem install bundler
- gem install rake
- gem install r10k
script: "rake test SPEC_OPTS='--format documentation --color --backtrace'"
script: "./.travis.sh"
rvm:
- 1.9.3
- 2.0.0
matrix:
fast_finish: true
env:
matrix:
- PUPPET_GEM_VERSION="~> 3.3.0"
- PUPPET_GEM_VERSION="~> 3.4.0"
- PUPPET_GEM_VERSION="~> 3.6.0"
- PUPPET_GEM_VERSION="~> 3.7.0"
notifications:
email: false
9 changes: 5 additions & 4 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,18 @@ task(:default).clear
task :default => :test

desc 'Run Puppetfile Validation'
task :test => [:validate_puppetfile,:all_modules]
task :test => [:validate_puppetfile,:test_modules]

desc "Validate the Puppetfile syntax"
task :validate_puppetfile do
$stderr.puts "---> syntax:puppetfile"
sh "r10k puppetfile check"
end

desc "Run rspec tests for each modules"
task :all_modules do
FileList["*/Rakefile"].each do |project|
desc "Run rspec test on specified modules"
task :test_modules, [:modules] do |t, args|
args.with_defaults(:modules => FileList["*/Rakefile"])
Array(args[:modules]).each do |project|
dir = project.pathmap("%d")
Dir.chdir(dir) do
puts "======"
Expand Down

0 comments on commit 6f7c632

Please sign in to comment.