Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/merge_request.rb')
-rw-r--r--app/models/merge_request.rb10
1 files changed, 9 insertions, 1 deletions
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index 854325e1fcd..e4608b26339 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -1444,7 +1444,7 @@ class MergeRequest < ApplicationRecord
# This method is for looking for active environments which created via pipelines for merge requests.
# Since deployments run on a merge request ref (e.g. `refs/merge-requests/:iid/head`),
# we cannot look up environments with source branch name.
- def environments
+ def legacy_environments
return Environment.none unless actual_head_pipeline&.merge_request?
build_for_actual_head_pipeline = Ci::Build.latest.where(pipeline: actual_head_pipeline)
@@ -1458,6 +1458,14 @@ class MergeRequest < ApplicationRecord
Environment.where(project: project, name: environments)
end
+ def environments_in_head_pipeline
+ if ::Feature.enabled?(:fix_related_environments_for_merge_requests, target_project, default_enabled: :yaml)
+ actual_head_pipeline&.environments_in_self_and_descendants || Environment.none
+ else
+ legacy_environments
+ end
+ end
+
def fetch_ref!
target_project.repository.fetch_source_branch!(source_project.repository, source_branch, ref_path)
end