diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-04-20 13:00:54 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-04-20 13:00:54 +0300 |
commit | 3cccd102ba543e02725d247893729e5c73b38295 (patch) | |
tree | f36a04ec38517f5deaaacb5acc7d949688d1e187 /app/models/ci/build.rb | |
parent | 205943281328046ef7b4528031b90fbda70c75ac (diff) |
Add latest changes from gitlab-org/gitlab@14-10-stable-eev14.10.0-rc42
Diffstat (limited to 'app/models/ci/build.rb')
-rw-r--r-- | app/models/ci/build.rb | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index 68ec196a9ee..16c9aa212d0 100644 --- a/app/models/ci/build.rb +++ b/app/models/ci/build.rb @@ -218,17 +218,21 @@ module Ci pending.unstarted.order('created_at ASC').first end - def retry(build, current_user) - # rubocop: disable CodeReuse/ServiceClass - Ci::RetryBuildService - .new(build.project, current_user) - .execute(build) - # rubocop: enable CodeReuse/ServiceClass - end - def with_preloads preload(:job_artifacts_archive, :job_artifacts, :tags, project: [:namespace]) end + + def extra_accessors + [] + end + + def clone_accessors + %i[pipeline project ref tag options name + allow_failure stage stage_id stage_idx trigger_request + yaml_variables when environment coverage_regex + description tag_list protected needs_attributes + job_variables_attributes resource_group scheduling_type].freeze + end end state_machine :status do @@ -351,7 +355,9 @@ module Ci if build.auto_retry_allowed? begin - Ci::Build.retry(build, build.user) + # rubocop: disable CodeReuse/ServiceClass + Ci::RetryJobService.new(build.project, build.user).execute(build) + # rubocop: enable CodeReuse/ServiceClass rescue Gitlab::Access::AccessDeniedError => ex Gitlab::AppLogger.error "Unable to auto-retry job #{build.id}: #{ex}" end @@ -472,12 +478,6 @@ module Ci active? || created? end - def retryable? - return false if retried? || archived? || deployment_rejected? - - success? || failed? || canceled? - end - def retries_count pipeline.builds.retried.where(name: self.name).count end @@ -504,7 +504,11 @@ module Ci if metadata&.expanded_environment_name.present? metadata.expanded_environment_name else - ExpandVariables.expand(environment, -> { simple_variables }) + if ::Feature.enabled?(:ci_expand_environment_name_and_url, project, default_enabled: :yaml) + ExpandVariables.expand(environment, -> { simple_variables.sort_and_expand_all }) + else + ExpandVariables.expand(environment, -> { simple_variables }) + end end end end |