In #246844 (closed), we enabled shared runner minutes historical tracking for CI minute usage. Users want to be able to see private runner minutes as well
Proposal
We could apply the same proposal as per #254231 (closed) but for a different database column:
add new column ci_namespace_monthly_usages.private_runners_minutes_duration
add new column ci_project_monthly_usages.private_runners_minutes_duration
change UpdateBuildMinutesService to accumulate the duration for jobs executed by private runners. E.g. CI minutes consumption would be 0 since the runner cost factor is 0 but the duration should be accumulated in minutes anyway in the respective table column.
If CI minutes monthly limit is set (Ci::Minutes::Quota#enabled?) we allow this duration to be tracked.
Will this be able to be controlled in the UI, and available on GitLab.com? The Samba Team uses gitlab.com with some private runners, it would be useful to be able to see shared and private runner use as we work to reduce both, rather than trying to proxy via cloud provider billing, which is difficult to compare to and work with.
Well, clearly I can't change server-side features on gitlab.com. So as a user responsible for managing CI pipeline use due to cost on a project hosted on gitlab.com can I control this feature to enable it for my project?
Thanks! Was confused, misread the name and worried it would be a separate option (private runners display under the shared runners limit feature is odd).
Users want to be able to see private runner minutes as well
All private runners have a cost factor of 0 today since we don't want private runners usage to be counted against CI minutes. To confirm, I believe for private runner minutes we intend the "duration" and not the CI minutes (since those only applies to shared runners).
We could apply the same proposal as per #254231 (closed) but for a different database column:
add new column ci_namespace_monthly_usages.private_runners_minutes_duration
add new column ci_project_monthly_usages.private_runners_minutes_duration
change UpdateBuildMinutesService to accumulate the duration for jobs executed by private runners. E.g. CI minutes consumption would be 0 since the runner cost factor is 0 but the duration should be accumulated in minutes anyway in the respective table column.
The shared_runners_minutes_limit_enabled feature must be enabled for minutes to be tracked
Today this means different things depending on the context:
at project level: if shared runners are enabled AND the CI minutes monthly limit is set for the root namespace
at namespace level: if any project in it has shared runners enabled AND the CI minutes monthly limit is set
I think we would want to refer only to whether CI minutes monthly limit is set since shared runners could probably be disabled for projects/namespaces using private runners.