Sha256: 05ff90e98432379446b5836108e01571dea30c27face5f690e684657531be8ab

Contents?: true

Size: 1.29 KB

Versions: 1

Compression:

Stored size: 1.29 KB

Contents

module Vx
  module Builder
    class ScriptBuilder

      class Env < Base

        def call(env)
          env.init << "set -e"
          env.init << "export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
          env.init << 'export LC_ALL=en_US.UTF8'
          env.init << 'export DEBIAN_FRONTEND=noninteractive'

          export_vars(env, env.init)
          export_vars(env, env.after_script_init)

          env.source.env.global.each do |e|
            env.init << trace_sh_command("export #{e}")
          end
          env.source.env.matrix.each do |e|
            env.init << trace_sh_command("export #{e}")
          end
          app.call(env)
        end

        private

          def export_vars(env, collection)
            collection << "export CI=1"
            collection << "export CI_JOB_ID=#{env.task.job_id}"
            collection << "export CI_BUILD_ID=#{env.task.build_id}"
            collection << "export CI_PROJECT_NAME=#{env.task.name}"
            collection << "export CI_BUILD_SHA=#{env.task.sha}"

            if p = env.task.pull_request_id
              collection << "export CI_PULL_REQUEST_ID=#{p}"
            end

            if b = env.task.branch
              collection << "export CI_BRANCH=#{b}"
            end
          end

      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vx-builder-0.3.9 lib/vx/builder/script_builder/env.rb