Class: PoiseBoiler::Helpers::Rake::Travis
- Inherits:
-
Halite::HelperBase
- Object
- Halite::HelperBase
- PoiseBoiler::Helpers::Rake::Travis
- Defined in:
- lib/poise_boiler/helpers/rake/travis.rb
Overview
Helper for a Rakefile to install a task for testing on CI.
Instance Method Summary collapse
-
#install ⇒ void
Install the rake tasks.
Instance Method Details
#install ⇒ void
This method returns an undefined value.
Install the rake tasks.
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/poise_boiler/helpers/rake/travis.rb', line 35 def install # Delayed so that Rake doesn't need to be loaded to run this file. extend ::Rake::DSL file 'test/docker/docker.key' do sh(*%w{openssl rsa -in test/docker/docker.pem -passin env:KITCHEN_DOCKER_PASS -out test/docker/docker.key}) end file './docker' do begin sh(*%w{wget https://get.docker.io/builds/Linux/x86_64/docker-latest -O docker}) rescue RuntimeError sh(*%w{curl https://get.docker.io/builds/Linux/x86_64/docker-latest -o docker}) end File.chmod(0755, './docker') end file '.ssh/id_rsa' do # Add a zero-byte passphrase field. cmd = %w{ssh-keygen -f} + [File.('~/.ssh/id_rsa')] + %w{-b 768 -P} + [''] sh(*cmd) end desc 'Run Test-Kitchen integration tests.' task 'travis:integration' => ( integration_rackspace? ? %w{.ssh/id_rsa chef:kitchen} : %w{test/docker/docker.key ./docker chef:kitchen} ) desc 'Run CI tests' task 'travis' do ENV['POISE_MASTER_BUILD'] = 'true' if master_build? run_subtask('spec') run_subtask('chef:foodcritic') run_subtask('travis:integration') if integration_tests? if @failed && !@failed.empty? raise "Subtasks #{@failed.join(', ')} failed" end end end |