Lazy load pipeline artifacts on pipelines table and remove artifacts from endpoint
Proposal
This is a follow up to #324003 (closed), where we are now lazy loading the list of artifacts when the user clicks on the dropdown on the project pipelines index page. That change was intended to improve performance, but the endpoint is still having to query the artifacts in order to determine whether to show the dropdown initially or not.
The proposal for this issue is to always show the dropdown, regardless of whether or not the pipeline has any artifacts. That way we can remove the artifacts query from the main request.
We need to also make sure that other areas of the code that also use this endpoint are not relying on there being artifacts included.
TODO
-
backend Remove downloadable_artifacts
from PipelineSerializer#preloaded_relations -
frontend Add kebab button to every pipeline row and query for pipeline artifacts on click, without any advance knowledge of presence (remove has_downloadable artifacts handling) (!60950 (merged)) -
frontend fix the pages that are not properly lazy loading the artifacts dropdown (!61045 (merged)) -
frontend lazy load the artifacts in the MR pipeline widget (!61055 (merged)) -
backend Remove has_downloadable_artifacts
attribute (!60950 (merged))
Edited by Max Orefice