require 'yaml' WOODPECKER_YML='.woodpecker.yml' desc 'iniciar entorno' task :up do compose('up', '--build', '-d') end desc 'poblar entorno' task :init => [:up] do pecker = YAML.load_file(WOODPECKER_YML) pecker.dig('pipeline', 'tests', 'commands').grep(/install/).each do |cmd| compose('exec', 'app.dev', cmd) end end desc 'iterar' task :tdd do compose('exec', 'app.dev', 'python3 -m unittest') end desc 'detener entorno' task :down do compose('down') end def compose(*arg) sh "docker-compose -f docker-compose.dev.yml #{arg.join(' ')}" end