Skip to content

Create a single source of truth for feature flags

Tomasz Maczukin requested to merge single-source-of-truth-for-feature-flags into master

What does this MR do?

Follow-up for !1312 (merged).

Creates a single source of truth for information about available feature flags and adds an automation for documentation table generation.

Why was this MR needed?

  1. Prepares a single source of truth for the information about available FFs. Information about available FFs, their description, default value, deprecation details (if any) are now stored in one place.

  2. The documentation of the specific FFs is managed manually. It makes things easy to forget. The inspiration for preparing this part of the change was !1297 (closed) that I'm working on. It adds a new FF and I totally forgot that we have a documentation page for them. There is of course the changes that it would be noticed by the reviewer, but if we can automatize this, then why not!? :)

    So, having this in mind, this MR adds also a mechanism do generate the table for https://docs.gitlab.com/runner/configuration/feature-flags.html#available-feature-flags using the FF details added into the ./helpers/feature_flags package. Also a new make target: make update_feature_flags_docs was added to make this a one-command operation.

Are there points in the code the reviewer needs to double check?

Blocked by !1297 (closed), !1319 (merged)

Does this MR meet the acceptance criteria?

  • Documentation created/updated
  • Added tests for this feature/bug
  • In case of conflicts with master - branch was rebased

What are the relevant issue numbers?

Edited by Tomasz Maczukin

Merge request reports