Remove ci_reject_yaml_tags_in_inputs and document tag behavior

What does this MR do and why?

Removes the ci_reject_yaml_tags_in_inputs feature flag and the input validation it gated, introduced by !249492 (merged).

The flag made GitLab reject a YAML tag passed as an include: inputs: value. It was rolled back on GitLab.com because it breaks existing pipelines, including some that pass today, so we are stepping back from rejecting these values.

What is kept

The Gitlab::Ci::Config::FeatureFlags.with_actor calls added by the original MR. doc/development/cicd/configuration.md prescribes that pattern for any feature flag read while CI configuration is built, so removing them means the next such flag has to add them back. They are inert while nothing reads a flag inside the block.

Documentation

  • doc/ci/yaml/yaml_optimization.md and doc/ci/inputs/_index.md: replace "You cannot use a !reference tag in an input value" with what actually happens, and state that the result is not defined and can change in any release. The previous wording described a restriction that is not enforced. The statement also moves up to Set input values, because it applies to every input type and to default: values rather than only to the content of array items.
  • New troubleshooting entry keyed on #<Gitlab::Ci::Config::Yaml::Tags::Reference...>, which is the string a user searches for when they hit this.

Specs

config_yaml_tags_in_inputs_spec.rb and interpolator_spec.rb now record current behavior for each shape a tag can take in an input value, instead of the flag-on behavior.

The with_actor(nil) scaffolding added by !249492 (merged) is removed from the 11 spec files that needed it only for the flag read. entry/job_spec.rb is removed too, for a different reason: that block predates the flag, but job inputs reach BaseInput#run_validations, so it was the only thing keeping this flag's read in that path from failing the spec. Removing the read makes it stale. The four remaining files are handled in !256154 (merged).

Edited by Oleg Yakovenko

Merge request reports

Loading
Loading