diff options
author | Sean McGivern <sean@gitlab.com> | 2017-06-23 16:10:15 +0100 |
---|---|---|
committer | Sean McGivern <sean@gitlab.com> | 2017-06-23 16:10:15 +0100 |
commit | 6a345744b42a6f57dfba5a08c402542a21de2b69 (patch) | |
tree | 6e8e307d8828078547455579073702174da2d4bc | |
parent | d4384dc154cb1e44c7b0a5cd802d48629f585fdb (diff) | |
download | gitlab-ce-skip-pipelines-load-for-mr-diffs.tar.gz |
Skip loading pipelines when loading async MR diffsskip-pipelines-load-for-mr-diffs
Loading pipelines can be very expensive, and they aren't displayed in the
partial rendered by diffs.json.
-rw-r--r-- | app/controllers/projects/merge_requests_controller.rb | 12 | ||||
-rw-r--r-- | changelogs/unreleased/skip-pipelines-load-for-mr-diffs.yml | 4 |
2 files changed, 12 insertions, 4 deletions
diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb index 879ff6d393e..1dbd489a960 100644 --- a/app/controllers/projects/merge_requests_controller.rb +++ b/app/controllers/projects/merge_requests_controller.rb @@ -13,7 +13,7 @@ class Projects::MergeRequestsController < Projects::ApplicationController :pipeline_status, :ci_environments_status, :toggle_subscription, :cancel_merge_when_pipeline_succeeds, :remove_wip, :resolve_conflicts, :assign_related_issues, :commit_change_content ] before_action :validates_merge_request, only: [:show, :diffs, :commits, :pipelines] - before_action :define_show_vars, only: [:diffs, :commits, :conflicts, :conflict_for_path, :builds, :pipelines] + before_action :define_show_vars, only: [:commits, :conflicts, :conflict_for_path, :builds, :pipelines] before_action :ensure_ref_fetched, only: [:show, :diffs, :commits, :builds, :conflicts, :conflict_for_path, :pipelines] before_action :close_merge_request_without_source_project, only: [:show, :diffs, :commits, :builds, :pipelines] before_action :check_if_can_be_merged, only: :show @@ -102,8 +102,12 @@ class Projects::MergeRequestsController < Projects::ApplicationController apply_diff_view_cookie! respond_to do |format| - format.html { define_discussion_vars } + format.html do + define_show_vars + define_discussion_vars + end format.json do + define_show_vars(define_pipelines: false) define_diff_vars define_diff_comment_vars @@ -470,7 +474,7 @@ class Projects::MergeRequestsController < Projects::ApplicationController end end - def define_show_vars + def define_show_vars(define_pipelines: true) @noteable = @merge_request @commits_count = @merge_request.commits_count @@ -480,7 +484,7 @@ class Projects::MergeRequestsController < Projects::ApplicationController end labels - define_pipelines_vars + define_pipelines_vars if define_pipelines end # Discussion tab data is rendered on html responses of actions diff --git a/changelogs/unreleased/skip-pipelines-load-for-mr-diffs.yml b/changelogs/unreleased/skip-pipelines-load-for-mr-diffs.yml new file mode 100644 index 00000000000..d036bc20bee --- /dev/null +++ b/changelogs/unreleased/skip-pipelines-load-for-mr-diffs.yml @@ -0,0 +1,4 @@ +--- +title: Skip loading pipelines when loading async merge request diffs +merge_request: +author: |