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