Skip to content

Disable 50-path limit on `include:rules:exist` in new feature code

Leaminn Ma requested to merge update-include-rules-exists-limit into master

What does this MR do and why?

In !149326 (merged), we introduced new rules:exists subkeys behind a Feature Flag ci_support_rules_exists_paths_and_project. However, the new feature code consolidated the validation parameters for both include:rules:exists and job:rules:exists such that they have a 50-path/pattern limit. This limit is already documented and is currently enforced on job:rules:exists but not on include:rules:exists.

While chances are very low that a customer would have over 50 file paths/patterns specified under a single include:rules:exists rule, we discussed in #386040 (comment 1863080059) that it would be safer to enforce the limit as a breaking change in %18.0 instead.

This MR adds a metadata option disable_simple_exists_paths_limit so that we can preserve the existing simple behaviour of include:rules:exists in the new feature code. This change is made under the same Feature Flag ci_support_rules_exists_paths_and_project.

The metadata option will be removed and the limit will be enforced later in #456276.

MR acceptance checklist

Please 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 #386040 (closed)

Merge request reports

Loading