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:
[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
