Backend: Use a reduced cost factor for public forks
Problem
We would like to identify contributions to OSS projects and treat those contributions differently from the point of view of CI minutes consumption. Today if a user wants to contribute to an OSS project we will count CI minutes consumption against the user quota because the user runs the pipeline on a fork on their namespace. The majority of contributors are using their own personal namespace which has a Free plan. We give Free plan a 400 CI minutes limit.
This means that if a pipeline from a fork consumes many CI minutes, it can either consume all the CI quota or great part of it.
For example a full merge request pipeline for gitlab-org/gitlab
as of today would consume 1000+ CI minutes which means a user may not be able to fully run one and exhaust the quota for the rest of the month.
Proposal
- Identify OSS contributions as:
a pipeline running for a public fork of a public upstream project
. - For any jobs classified as OSS contributions, use a cost factor
0.008
which was introduced/separated-out in #346399 (closed) - This ensures that the users can contribute up to 50,000 minutes (duration) on OSS projects (
400 CI minutes limit for Free plan / cost factor 0.008 = 50,000
). - OSS contributions coming from OSS plan projects (e.g. public fork in OSS plan group) would get cost factor 0.008 instead of 0.5
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.