Organizations release process (2/2): release status table and dev guide
What does this MR do?
Part 2 of 2 of the Organizations release process. Stacked on !239926 (merged) — this MR targets that MR's branch, so review/merge !239926 (merged) first. GitLab retargets this MR to master once !239926 (merged) merges.
Adds the documentation and tooling on top of the release layer:
Organizations::Release::TableRendererand a rake task (gitlab:organizations:release:docs) that generate a per-capability release status table from the registry.- The generated
doc/development/organizations/release_status.md, kept in sync by agitlab:organizations:release:check_docstask run in the existingdocs-lint generated-contentCI job (the same job that checks the event store docs). It fails the pipeline if the registry changes without regenerating the doc. - A developer guide
doc/development/organizations/release_process.mdthat defers to the handbook for the model and covers the in-repo specifics (the layer, declaring a capability, operating the stage flags).
Why a repo doc as well as the handbook
The release model lives in the handbook (gitlab-com/content-sites/handbook!20007 (merged)). This repo doc is the developer implementation guide for engineers working in this codebase, and the status table is generated from the in-repo registry — so both belong here, pointing at the handbook for the model rather than duplicating it.
Status
Not wired into anything yet.
Example of the generated table
The committed release_status.md stays empty until a feature adopts the layer. With four illustrative flags registered across stages, bin/rake gitlab:organizations:release:docs generates this ## Organization flags section:
Example generated table
| Flag | Stage | Description |
|---|---|---|
organization_switching |
Experimental | Switch the active organization from the UI. |
ui_for_organizations |
Beta | Browse and manage an organization through its dedicated UI. |
organization_billing |
LA (50%) | Manage billing at the organization level. |
organization_activity |
GA | Show an activity feed for the organization. |
Rows are sorted by stage order, then name. The example flags above are illustrative and are not committed.