Skip to content

Refactor monolith .gitlab-ci.yml

I would like to consider refactoring the ~2000-line .gitlab-ci.yml monolith into separate files, to make it easier to manage.

As structure like this might be easier to understand and maintain:

File Purpose
.gitlab-ci.yml defines stages and includes everything else
.gitlab/ci/common.yml includes common templates (rules templates, etc)
.gitlab/ci/debian.yml defines all Debian-related definitions and jobs
.gitlab/ci/conda.yml defines all Conda-related definitions and jobs
.gitlab/ci/rhel.yml defines all RHEL-related definitions and jobs
.gitlab/ci/compiler.yml defines all of the compiler build jobs
.gitlab/ci/wheel.yml defines all of the wheel jobs
.gitlab/ci/docker.yml defines all of the docker jobs

etc etc. I think this can be done in stages, rather than requiring a huge MR that implements everything.

cc @adam-mercer