Pin the system dashboard tiling in the loader spec
What does this MR do and why?
Follow-up from !254441 (comment 3820285012). Adds a spec to system_dashboards_loader_spec.rb that walks every view (or the top-level panels) of every shipped system dashboard and asserts no two panels occupy the same grid cell, so a future row trim cannot quietly leave two panels overlapping. The failure message names the dashboard, panel, row and column.
I checked the assertion against both shipped dashboards (dap_impact, duo_and_sdlc_trends) before adding it; both tile cleanly today.
References
- Resolves #628694
- Origin: !254441 (merged)
Differences
Before: Two panels with overlapping gridAttributes in a system dashboard YAML pass CI.
After: The loader spec fails and points at the overlapping panel.
How to set up and validate locally
- Run
bundle exec rspec ee/spec/services/analytics/custom_dashboards/system_dashboards_loader_spec.rb. - Temporarily change a panel's
yPosinee/lib/gitlab/analytics/dashboards/system/dap_impact.yamlto collide with its neighbour; the new example fails.
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.