Ci Resource Group models and parser
What does this MR do?
There is a downstream MR !20903 (closed).
This MR adds the base model architecture for Resource Group, which is used for Limit pipeline job concurrency using named semaphores. Resource Group is basically a resource limitation per projects, resource can be mobile devices or such physical machines, which maintained by users (not GitLab). In other word, Ci::ResourceGroup
is a concept of user-defined machine group and Ci::Resource
is a individual machine of a group.
Sample gitlab-ci.yml
job:
script: echo 'a'
resource_group: iOS
Feature Flag
This feature is implemented behind ci_resource_group
feature flag and disabled by default. Once we've confirmed the feature is deemed stable, we remove the feature flag in order to publish the feature as GA.
TODO
-
Add feature flag (default off) -
Write tests
Screenshots
Does this MR meet the acceptance criteria?
Conformity
- [-] Changelog entry
- [-] Documentation (if required)
-
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. - [-] Tested in all supported browsers
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
- [-] Label as security and @ mention
@gitlab-com/gl-security/appsec
- [-] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
- [-] Security reports checked/validated by a reviewer from the AppSec team