Move multi-project-pipeline to the Community Edition
As you may know, Debian is using gitlab, which means we are improving the distribution because of it. But we would like to keep pushing forward. Therefore, on behalf of the Debian project, we would like to request release this feature as part of the Community Edition to keep improving the Debian distribution quality.
Currently, we have a pipeline definition that allows us to execute the same tests that are executed after a package is uploaded to Debian but on every commit. Please check the README.md for more info.
Use case
In Debian, we have thousands of projects where the output are Debian packages. A very common case (not to say almost always), a Debian package has other packages that depend on it. So, the idea is testing before doing an upload to the Debian archive if the next release of the package doesn't break the packages that depend on it.
Build dependencies
PackageA build depends on PackageB. A new release of PackageB can break PackageA on building time (in Debian a.k.a. Fails To Build From Source - FTBFS)
Runtime dependencies
PackageA depends on PackageB for running. A new release of PackageB can break in runtime PackageA e.g. a library release can break a binary application, a new python module can break an application that depends on it.
Proposal
Move the trigger:
keyword (https://docs.gitlab.com/ee/ci/yaml/#trigger-premium / https://docs.gitlab.com/ee/ci/multi_project_pipelines.html#creating-multi-project-pipelines-from-gitlab-ciyml) from premium to core, and update associated documentation.
Justification
Per our buyer-based model, triggering pipelines via automation is something that an IC does rather than somebody's manager or director. This can also already be worked around by using API calls, so we aren't really gating anything except adding a manual step.