Prevent duplicate input keys in CI header input includes

What does this MR do and why?

This change adds duplicate input validation to GitLab's CI configuration processor. Previously, when multiple configuration files defined the same input parameters, they would silently overwrite each other. Now the system detects when the same input key appears in multiple included files or between included files and inline specifications, and throws a clear error message instead of allowing the conflict. This prevents unexpected behavior where one input definition might accidentally override another, making CI configurations more predictable and easier to debug. The change includes comprehensive test coverage for various duplicate scenarios including local files, remote files, and mixed configurations.

References

Duplicate input keys (includes or inline) shoul... (#557867) • Rajendra Kadam • 18.8

Screenshots or screen recordings

NA

How to set up and validate locally

Use the steps in the feature MR to test locally - !206931 (merged)

It has duplicate inputs that return appropriate error when used. Perform combinations of inputs and ordering of includes to check the behaviour

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 #557867

Merge request reports

Loading