Recurse through parents when checking use_mermaid_v11 FF

What does this MR do and why?

This is a follow-up to Ship Mermaid 11 behind a gitlab_com_derisk feat... (!226851 - merged): there we pushed the use_mermaid_v11 FF based on the project/group actor, but only that actor: it has to be enabled separately for every target group and project.

This MR has the FF check recurse through parents (i.e. from project to group, and from group to parent group), so enabling it for a top-level group is sufficient to have it work for all projects and groups within. It follows an existing pattern already used to this effect a few times.

References

How to set up and validate locally

  1. Check out the branch.
  2. Enable the FF specifically for a top-level group.
  3. Create an issue in a project within that group, optionally within a subgroup.
  4. Add the following Mermaid diagram to that issue:
    ```mermaid
    packet
    title UDP Packet
    +16: "Source Port"
    +16: "Destination Port"
    32-47: "Length"
    48-63: "Checksum"
    64-95: "Data (variable length)"
    ```
  5. You should see a packet diagram rendered. (Try refreshing once or twice to check the FF has settled successfully.)

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Merge request reports

Loading