in lib/gitlab/ci/status/composite.rb [40:80]
def status
return if none?
strong_memoize(:status) do
if @dag && any_skipped_or_ignored?
'skipped'
elsif only_of?(:skipped, :ignored)
'skipped'
elsif only_of?(:success, :skipped, :success_with_warnings, :ignored)
'success'
elsif only_of?(:created, :success_with_warnings, :ignored)
'created'
elsif only_of?(:preparing, :success_with_warnings, :ignored)
'preparing'
elsif only_of?(:canceled, :success, :skipped, :success_with_warnings, :ignored)
'canceled'
elsif only_of?(:pending, :created, :skipped, :success_with_warnings, :ignored)
'pending'
elsif any_of?(:running, :pending)
'running'
elsif any_of?(:waiting_for_resource)
'waiting_for_resource'
elsif any_of?(:waiting_for_callback)
'waiting_for_callback'
elsif any_of?(:manual)
'manual'
elsif any_of?(:scheduled)
'scheduled'
elsif any_of?(:preparing)
'preparing'
elsif any_of?(:created)
'running'
elsif any_of?(:canceling)
'canceling'
else
'failed'
end
end
end