Class: Ci::BuildRunnerPresenter

Inherits:
SimpleDelegator
  • Object
show all
Includes:
Gitlab::Utils::StrongMemoize
Defined in:
app/presenters/ci/build_runner_presenter.rb

Constant Summary collapse

RUNNER_REMOTE_TAG_PREFIX =
'refs/tags/'
RUNNER_REMOTE_BRANCH_PREFIX =
'refs/remotes/origin/'

Instance Method Summary collapse

Methods included from Gitlab::Utils::StrongMemoize

#clear_memoization, #strong_memoize, #strong_memoized?

Instance Method Details

#artifactsObject


10
11
12
13
14
15
16
17
# File 'app/presenters/ci/build_runner_presenter.rb', line 10

def artifacts
  return unless options[:artifacts]

  list = []
  list << create_archive(options[:artifacts])
  list << create_reports(options[:artifacts][:reports], expire_in: options[:artifacts][:expire_in])
  list.flatten.compact
end

#git_depthObject


27
28
29
30
31
32
33
# File 'app/presenters/ci/build_runner_presenter.rb', line 27

def git_depth
  if git_depth_variable
    git_depth_variable[:value]
  else
    project.ci_default_git_depth
  end.to_i
end

#ref_typeObject


19
20
21
22
23
24
25
# File 'app/presenters/ci/build_runner_presenter.rb', line 19

def ref_type
  if tag
    'tag'
  else
    'branch'
  end
end

#refspecsObject


35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'app/presenters/ci/build_runner_presenter.rb', line 35

def refspecs
  specs = []
  specs << refspec_for_persistent_ref if persistent_ref_exist?

  if git_depth > 0
    specs << refspec_for_branch(ref) if branch? || legacy_detached_merge_request_pipeline?
    specs << refspec_for_tag(ref) if tag?
  else
    specs << refspec_for_branch
    specs << refspec_for_tag
  end

  specs
end