diff --git a/Rakefile b/Rakefile index 11ba867..9498b97 100644 --- a/Rakefile +++ b/Rakefile @@ -13,15 +13,17 @@ namespace :spec do targets << target end - task :all => targets + # Use multitask for parallel execution + multitask :all => targets task :default => :all targets.each do |target| original_target = target == "_default" ? target[1..-1] : target desc "Run serverspec tests to #{original_target}" - RSpec::Core::RakeTask.new(target.to_sym) do |t| - ENV['TARGET_HOST'] = original_target - t.pattern = "spec/#{original_target}/*_spec.rb" + task target.to_sym do + # Run RSpec in a separate process with environment variable set + # This ensures each parallel task has its own isolated environment + sh "TARGET_HOST=#{original_target} bundle exec rspec spec/#{original_target}/*_spec.rb" end end end