Class: CI::Queue::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/ci/queue/configuration.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(timeout: 30, build_id: nil, worker_id: nil, max_requeues: 0, requeue_tolerance: 0, namespace: nil, seed: nil) ⇒ Configuration

Returns a new instance of Configuration.



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/ci/queue/configuration.rb', line 16

def initialize(
  timeout: 30, build_id: nil, worker_id: nil, max_requeues: 0, requeue_tolerance: 0,
  namespace: nil, seed: nil
)
  @namespace = namespace
  @timeout = timeout
  @build_id = build_id
  @worker_id = worker_id
  @max_requeues = max_requeues
  @requeue_tolerance = requeue_tolerance
  @seed = seed
end

Instance Attribute Details

#build_id ⇒ Object

Returns the value of attribute build_id.



4
5
6
# File 'lib/ci/queue/configuration.rb', line 4

def build_id
  @build_id
end

#failing_test ⇒ Object

Returns the value of attribute failing_test.



4
5
6
# File 'lib/ci/queue/configuration.rb', line 4

def failing_test
  @failing_test
end

#max_requeues ⇒ Object

Returns the value of attribute max_requeues.



4
5
6
# File 'lib/ci/queue/configuration.rb', line 4

def max_requeues
  @max_requeues
end

#namespace ⇒ Object

Returns the value of attribute namespace.



4
5
6
# File 'lib/ci/queue/configuration.rb', line 4

def namespace
  @namespace
end

#requeue_tolerance ⇒ Object

Returns the value of attribute requeue_tolerance.



4
5
6
# File 'lib/ci/queue/configuration.rb', line 4

def requeue_tolerance
  @requeue_tolerance
end

#seed ⇒ Object

Returns the value of attribute seed.



4
5
6
# File 'lib/ci/queue/configuration.rb', line 4

def seed
  @seed
end

#timeout ⇒ Object

Returns the value of attribute timeout.



4
5
6
# File 'lib/ci/queue/configuration.rb', line 4

def timeout
  @timeout
end

#worker_id ⇒ Object

Returns the value of attribute worker_id.



4
5
6
# File 'lib/ci/queue/configuration.rb', line 4

def worker_id
  @worker_id
end

Class Method Details

.from_env(env) ⇒ Object



7
8
9
10
11
12
13
# File 'lib/ci/queue/configuration.rb', line 7

def from_env(env)
  new(
    build_id: env['CIRCLE_BUILD_URL'] || env['BUILDKITE_BUILD_ID'] || env['TRAVIS_BUILD_ID'],
    worker_id: env['CIRCLE_NODE_INDEX'] || env['BUILDKITE_PARALLEL_JOB'],
    seed: env['CIRCLE_SHA1'] || env['BUILDKITE_COMMIT'] || env['TRAVIS_COMMIT'],
  )
end

Instance Method Details

#global_max_requeues(tests_count) ⇒ Object



41
42
43
# File 'lib/ci/queue/configuration.rb', line 41

def global_max_requeues(tests_count)
  (tests_count * Float(requeue_tolerance)).ceil
end