Backend: Move Projects::PipelinesController#create to async
Summary
In !161407 (merged), we updated the merge request pipeline creation endpoint to use a worker to create pipelines async. This will help us mitigate the user experience caused by degrading pipeline creation times. It also creates UX problems, which we will resolve in #476627 (closed)
Once we have determined how to surface error messages and the pipeline creation status, we need to update other places where sync pipeline creation is causing performance problems. This includes Projects::PipelinesController#create
Proposal
First, we need to find all places that use Projects::PipelinesController#create
. I think it's only the new pipeline page, but we should confirm this. Then we need to update the create
action to create pipelines async while making sure that the UX for the pages that use it remains unchanged
This change should be rolled out under a feature flag