Skip to content

Reduce the complexity of our CI configuration

Rémy Coutable requested to merge feature-branch-gather-jobs-data into master

EE port: https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/15121

What does this MR do?

This tries to reduce the complexity of our CI configuration:

  • No more global before_script! 🎉
  • There's no global cache so this isn't needed.
  • The idea is to define a single keyword for each "extensions". For instance .default_before_script only defines before_script, .no-qa only defines except etc.
  • Use atomic extends as much as possible.
  • Improve job names as much as possible.

I've also pushed the same branch to qa-branch-gather-jobs-data and docs-branch-gather-jobs-data to double-check that this change doesn't affect the jobs that are run and/or timings (https://gitlab.com/gitlab-org/gitlab-ce/-/branches/all?utf8=✓&search=branch-gather-jobs-data).

I've also pushed these branches to my fork here: https://gitlab.com/rymai/gitlab-ce/-/branches/all?utf8=✓&search=branch-gather-jobs-data to double-check that this change doesn't affect the jobs that are run and/or timings.

Lastly, here are the corresponding EE branches: https://gitlab.com/gitlab-org/gitlab-ee/-/branches/all?utf8=✓&search=branch-gather-jobs-data

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/65702, https://gitlab.com/gitlab-org/gitlab-ce/issues/51367.

Comparison with existing pipelines

For a feature branch

Without theses changes:

With theses changes:

For a QA branch

Without theses changes:

With theses changes:

For a Docs branch

Without theses changes:

With theses changes:

Does this MR meet the acceptance criteria?

Conformity

Edited by Rémy Coutable

Merge request reports