Skip to content

Backend: Add Limitable to group and project CI variables

The new group and project CI variable limits were added in #362228 (closed), but we determined that they are too low for us to implement at this time. See #362228 (comment 1250187610) for details

Increase the limit for projects to 8000, and the limit for groups to 30000. Then add the Limitable module to Ci::Variable and Ci::GroupVariable.

When users are over the limit, return from the API a message that states

This project/group has XXX defined CI/CD variables, which is over the limit of XXX variables per project/group. To add new variables, you must reduce the number of defined variables.

Technical Note

To whomever picks this up - there is a RSpec shared examples named includes Limitable concern that can be used to test the addition of Limitable to models. However, it sometimes creates a cross-database transaction. When you have an MR for your changes, make sure to add the pipeline:run-single-db label so the pipeline will catch these cross-database transactions before the MR is merged.

Implementation Table

Title MR Link Done?
Update the default limits !109861 (merged)
Add Limitable !107092 (merged)
Edited by Avielle Wolfe