Sha256: 624e17176cf922758e4177a4473e45a67ddbbbddc13004695aaa9148d958b858

Contents?: true

Size: 1.26 KB

Versions: 7

Compression:

Stored size: 1.26 KB

Contents

# frozen_string_literal: true

module Buildkite
  module Builder
    module Commands
      class Run < Abstract
        private
        include LoggingUtils
        using Rainbow

        self.description = 'Builds and uploads the generated pipeline.'

        def run
          relative_pipeline_path = pipeline_path.relative_path_from(Builder.root)

          # This entrypoint is for running on CI. It expects certain environment
          # variables to be set. It also uploads the pipeline to Buildkite.
          log.info "+++ 🧰 #{'Buildkite Builder'.color(:springgreen)} v#{Buildkite::Builder.version} ─ #{relative_pipeline_path.to_s.yellow}"

          if Buildkite::Pipelines::Command.meta_data(:exists, Builder::META_DATA.fetch(:job))
            log.info 'Pipeline already uploaded'.color(:dimgray)
          else
            Pipeline.new(pipeline_path, logger: log).upload
          end
        end

        private

        def pipeline_path
          pipeline_path_override || super
        end

        def pipeline_path_override
          if ENV['BUILDKITE_BUILDER_PIPELINE_PATH']
            path = Pathname.new(ENV['BUILDKITE_BUILDER_PIPELINE_PATH'])
            path.absolute? ? path : Builder.root.join(path)
          end
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
buildkite-builder-4.2.0 lib/buildkite/builder/commands/run.rb
buildkite-builder-4.1.2 lib/buildkite/builder/commands/run.rb
buildkite-builder-4.1.1 lib/buildkite/builder/commands/run.rb
buildkite-builder-4.1.0 lib/buildkite/builder/commands/run.rb
buildkite-builder-4.0.0 lib/buildkite/builder/commands/run.rb
buildkite-builder-3.9.0 lib/buildkite/builder/commands/run.rb
buildkite-builder-3.8.3 lib/buildkite/builder/commands/run.rb