From c5c71299afa6282026405dd51ba32232499c6fdb Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Thu, 21 Feb 2019 14:30:33 -0800 Subject: [PATCH] Fix Etag expiration for forked projects When a pipeline is for a forked merge request, we have to invalidate the ETag for both the target and source project pipelines. Before we were only invalidating the target project's pipeline. --- app/workers/expire_pipeline_cache_worker.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/workers/expire_pipeline_cache_worker.rb b/app/workers/expire_pipeline_cache_worker.rb index 148384600b6..2c070d482a1 100644 --- a/app/workers/expire_pipeline_cache_worker.rb +++ b/app/workers/expire_pipeline_cache_worker.rb @@ -37,9 +37,9 @@ class ExpirePipelineCacheWorker Gitlab::Routing.url_helpers.project_new_merge_request_path(project, format: :json) end - def each_pipelines_merge_request_path(project, pipeline) + def each_pipelines_merge_request_path(pipeline) pipeline.all_merge_requests.each do |merge_request| - path = Gitlab::Routing.url_helpers.pipelines_project_merge_request_path(project, merge_request, format: :json) + path = Gitlab::Routing.url_helpers.pipelines_project_merge_request_path(merge_request.target_project, merge_request, format: :json) yield(path) end @@ -59,7 +59,7 @@ class ExpirePipelineCacheWorker store.touch(project_pipeline_path(project, pipeline)) store.touch(commit_pipelines_path(project, pipeline.commit)) unless pipeline.commit.nil? store.touch(new_merge_request_pipelines_path(project)) - each_pipelines_merge_request_path(project, pipeline) do |path| + each_pipelines_merge_request_path(pipeline) do |path| store.touch(path) end end