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::TableRenderer and 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 a gitlab:organizations:release:check_docs task run in the existing docs-lint generated-content CI 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.md that 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.

Edited by Alex Pooley

Merge request reports

Loading