Sha256: 41e3be48d483a2dcf7ca114b0be1639ac742ed9b88dedcc8782747b15c9ed38e

Contents?: true

Size: 515 Bytes

Versions: 1

Compression:

Stored size: 515 Bytes

Contents

require 'evrone/ci/common'

module Evrone
  module CI
    module Worker

      LocalScript = Struct.new(:app) do

        include Common::Helper::Shell

        def call(env)
          script = env.work_dir.join(".ci_script.sh")
          write_file script, env.job.message.script, 0700

          code = bash file: script, chdir: env.work_dir, &env.job.method(:add_to_output)

          if code == 0
            app.call env
          else
            code
          end
        end

      end
    end
  end
end


Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
evrone-ci-worker-0.2.0.pre0 lib/evrone/ci/worker/middlewares/local_script.rb