Standardize dynamic values in RSpec descriptions to prevent duplicate issue creation

Problem

When RSpec examples with dynamic values (integers, dates, etc.) in their descriptions fail, each failure creates a separate issue rather than being aggregated into a single issue. This results in issue proliferation, as seen in the linked example where multiple "disabled_until" failures with different timestamps each generate their own issue:

https://gitlab.com/gitlab-org/gitlab/-/issues/?sort=created_date&state=opened&label_name%5B%5D=test&label_name%5B%5D=automation%3Abot-authored&search=disabled_until&first_page_size=100

image

[Test] ee/spec/models/hooks/group_hook_spec.rb | GroupHook#executable? recent_failures: 39, disabled_until: Tue, 01 Apr 2025 09:47:31.709070556 UTC +00:00, executable: false has the correct state 

[Test] ee/spec/models/hooks/group_hook_spec.rb ... (gitlab-org/gitlab#531636 - closed)

Proposed solution

Standardize dynamic values in RSpec parameterized tests by replacing:

  • Numbers (integers, floats, etc.) with the placeholder "Number"
  • Dates with the placeholder "Date"
  • Other dynamic values with appropriate type placeholders

Business impact

  • Reduced Noise: Significantly decreases the number of duplicate issues created, improving signal-to-noise ratio in the issue tracker
  • Improved Triage Efficiency: Enables developers to focus on fixing underlying issues rather than managing duplicate tickets
  • Enhanced Resource Utilization: Reduces time spent on issue management and consolidation, allowing the team to allocate more resources to actual problem-solving
  • Better Failure Pattern Recognition: Aggregated issues make it easier to identify systemic problems across similar test cases
  • Lower Maintenance Overhead: Fewer issues to monitor, update, and eventually close, streamlining the overall CI process