Create pipeline, require user action to run it
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Problem to solve
I have a project for which pipelines take several hours to run. This causes two problems:
- Pipelines are sometimes stuck because specific runners are busy running some other job.
- Eventually we may run out of free shared runner minutes (see https://about.gitlab.com/releases/2020/03/18/ci-minutes-for-free-users/)
This is more or less unavoidable for required pipelines, but most of the pipelines may actually be unneeded (see also #201845 (closed)).
Intended users
- [Rachel (Release Manager)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#rachel-
- Sasha (Software Developer)
Further details
Having all jobs as "manual" is inconvenient. For pipelines with many jobs that means many jobs have to be manually started. A workaround could be creating a single "triggering" job in zeroth stage, before the real stuff begins.
Disabling automatic pipeline creation (with e.g. push) could work, since branch pipelines could still be created with the web or api sources. But I don't think that's possible with merge request pipelines.
Proposal
Add an option (project config? .gitlab-ci.yml?) to create pipelines normally, but not run them.
Add also a UI button to start a created pipeline.
Permissions and Security
In principle, any user allowed to create a pipeline should be allowed to start it. Do not force them to be the same user!