Backend: gitlab-ci.yml linter times out with < 50 includes

Summary

Several users have reported that since the introduction of a timeout for resolving includes in .gitlab-ci.yml they are receiving an error (below) when their CI configuration contains far less than 50 includes.

Steps to reproduce

This is difficult to reproduce as it happens intermittently, but overall:

  1. Create a project on GitLab.com.
  2. Create a .gitlab-ci.yml file.
  3. Include a good number of separate .yml files in your main CI configuration.
  4. Potentially observe that pipelines fail with the error below.

Example Project

Example projects can be found in the attached Zendesk tickets.

What is the current bug behavior?

Pipelines fail intermittently with the error:

Resolving config took longer than expected

And often pass on retry.

What is the expected correct behavior?

That pipelines where CI that has less than 50 includes involved runs without error.

Output of checks

This bug happens on GitLab.com

Zendesk Examples (GitLab Internal)

  1. https://gitlab.zendesk.com/agent/tickets/139768
  2. https://gitlab.zendesk.com/agent/tickets/141168
  3. https://gitlab.zendesk.com/agent/tickets/140577
  4. https://gitlab.zendesk.com/agent/tickets/233540
  5. https://gitlab.zendesk.com/agent/tickets/321285

Slack discussion (GitLab Internal)

Edited by Katrin Leinweber