Add default ci runner tags to dast site validation

What does this MR do and why?

This MR adds default runner tags for DAST on-demand site profile validation with intelligent fallback behavior. The changes include:

  1. Pre-execution validation: Added a check to ensure suitable runners are available before attempting to create a pipeline
  2. Smart tag assignment: Modified the CI configuration to add tags when tagged runners are available conditionally
  3. Runner availability detection: Added comprehensive logic to check for both tagged and untagged runners

The MR addresses the issue where DAST site validation jobs might fail due to no available runners:

  1. Preventing failed pipelines: The available_runners_exists? Check stops execution early if no suitable runners exist, providing a clear error message instead of creating a doomed pipeline
  2. Optimizing runner selection: When tagged runners with "Dast Validation Tag" are available, the job uses them specifically. If not, it falls back to any available untagged runners that can run untagged jobs
  3. Better resource utilization: By preferring tagged runners when available, it allows for dedicated DAST validation infrastructure while maintaining flexibility to use general-purpose runners as backup

The key improvement is the intelligent runner selection strategy that ensures DAST validation jobs always have a suitable runner to execute on, while preferring specialized runners when available.

Changelog: fixed EE: true

References

Screenshots or screen recordings

Before After

How to set up and validate locally

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.

Related to #555071 (closed)

Edited by Miki Amos

Merge request reports

Loading