Add stage-level policy support
See #701 (closed)
On the 13th of every month issues like https://gitlab.com/gitlab-org/plan/-/issues/400 are created to help EMs gather bugs in time to include them in the release post. This is generated by a pipeline in the gitlab-org/plan
project and copied manually to issues (as spam detection stops automatic creation through the API).
This MR uses triage ops to generate these instead, and makes it easy to add other stages if they want to avail of these issues.
In order for this to work a few things have been included in this MR:
- Existing group policy templates are moved into their own subdirectory
- New, stage-level policy templates and a generator have been created
- The GroupCIGenerator as been generalized to simply generate CI templates from the existing policy templates
This means that the SSoT for what groups or stages are included is now the policy generator alone.
Details of changes:
- Moves existing group-scoped templates under a
group
subdirectory - Updates Policy and CI generation scripts to use this new directory
- Adds Stage definition and policy generation classes
- Adds a
stage
subdirectory for stage-scoped templates - Adds a stage-scoped bug triage issue for the release post
- Adds a stage allowlist (limited to Plan and Create to start with)
- Adds CI job schedule generation to schedule these jobs monthly
- Adds a test to fail on future changes that require regeneration of policies
- Adds the actual scheduling to CI
Action items
-
(If applicable) Add documentation to the handbook pages for Triage Operations => - (If applicable) Identify the affected groups and how to communicate to them:
-
/cc @ person_or_group
=> -
Relevant Slack channels => -
Week-in-review
-
Edited by John Hope