Sha256: e9f6e8ba6e5ae17e30bd843933b910ebb90d47cbe3bc7567daf1c44813eab915

Contents?: true

Size: 1.01 KB

Versions: 11

Compression:

Stored size: 1.01 KB

Contents

# frozen_string_literal: true

module Buildkite
  module Pipelines
    module Helpers
      module Retry
        def automatic_retry_on(exit_status:, limit:)
          retry_value = get(:retry) || set(:retry, {})

          unless retry_value[:automatic].is_a?(Array)
            retry_value[:automatic] = []
          end

          retry_value[:automatic].delete_if { |rule| rule[:exit_status] == exit_status }
          retry_value[:automatic].push(exit_status: exit_status, limit: limit)
        end

        def automatic_retry(enabled)
          retry_value = get(:retry) || set(:retry, {})
          retry_value[:automatic] = enabled
        end

        def manual_retry(allowed, reason: nil, permit_on_passed: nil)
          retry_value = get(:retry) || set(:retry, {})
          retry_value[:manual] = { allowed: allowed }
          retry_value[:manual][:reason] = reason unless reason.nil?
          retry_value[:manual][:permit_on_passed] = permit_on_passed unless permit_on_passed.nil?
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
buildkite-builder-4.1.1 lib/buildkite/pipelines/helpers/retry.rb
buildkite-builder-4.1.0 lib/buildkite/pipelines/helpers/retry.rb
buildkite-builder-4.0.0 lib/buildkite/pipelines/helpers/retry.rb
buildkite-builder-3.9.0 lib/buildkite/pipelines/helpers/retry.rb
buildkite-builder-3.8.3 lib/buildkite/pipelines/helpers/retry.rb
buildkite-builder-3.8.2 lib/buildkite/pipelines/helpers/retry.rb
buildkite-builder-3.8.1 lib/buildkite/pipelines/helpers/retry.rb
buildkite-builder-3.8.0 lib/buildkite/pipelines/helpers/retry.rb
buildkite-builder-3.7.0 lib/buildkite/pipelines/helpers/retry.rb
buildkite-builder-3.6.0 lib/buildkite/pipelines/helpers/retry.rb
buildkite-builder-3.5.0 lib/buildkite/pipelines/helpers/retry.rb