Skip to content
Snippets Groups Projects

Expose refspec and depth to runner

Merged Shinya Maeda requested to merge expose-merge-ref-to-runner into master
All threads resolved!
Compare and
5 files
+ 73
29
Compare changes
  • Side-by-side
  • Inline
Files
5
+ 13
1
@@ -25,7 +25,8 @@ class Build < CommitStatus
belongs_to :erased_by, class_name: 'User'
RUNNER_FEATURES = {
upload_multiple_artifacts: -> (build) { build.publishes_artifacts_reports? }
upload_multiple_artifacts: -> (build) { build.publishes_artifacts_reports? },
merge_ref: -> (build) { build.merge_request? }
}.freeze
has_one :deployment, as: :deployable, class_name: 'Deployment'
@@ -463,6 +464,8 @@ def features
def merge_request
return @merge_request if defined?(@merge_request)
@merge_request ||= pipeline.merge_request if merge_request?
@merge_request ||=
begin
merge_requests = MergeRequest.includes(:latest_merge_request_diff)
@@ -476,10 +479,15 @@ def merge_request
end
end
def merge_request?
pipeline.merge_request?
end
def repo_url
return unless token
auth = "gitlab-ci-token:#{token}@"
project = merge_request? ? merge_request.target_project : project
project.http_url_to_repo.sub(%r{^https?://}) do |prefix|
prefix + auth
end
@@ -652,6 +660,10 @@ def secret_project_variables(environment: persisted_environment)
project.ci_variables_for(ref: git_ref, environment: environment)
end
def git_depth
yaml_variables&.find { |variable| variable[:key] == 'GIT_DEPTH' }&.dig(:value).to_i
end
def steps
[Gitlab::Ci::Build::Step.from_commands(self),
Gitlab::Ci::Build::Step.from_after_script(self)].compact
Loading