Speed up CI (with ccache)
As our code base grows, the CI takes quite some time. It is not too bad yet, but we should think about possibilities to it speed up (esp for Python-only MRs). There are several way we could achieve this:
- Skipping jobs depending on changed files
Using rules:changes
- Only run C++ jobs on changes to
cxx/*
,subproject/*
,meson.build
,.clang-tidy
,gcovr.cfg
,.gitlab-ci.yml
- Only run Python jobs on changes to
python
,meson.build
,pyproject.toml
,.gitlab-ci.yml
This should speed up MRs for only C++ or Python.
One disadvantage would be that the overall coverage would be reported incorrectly, but this we simply have to test.
- Move
clang-scan-build
to scheduled pipelines
This static analyzer seems to detect much less than I hoped for anyway. Let's keep it, but move it to the scheduled pipelines since it takes ~5min on its own.
- Use ccache for all C++ build jobs
We only include ccache
for ALMA9. I think we include it in all build targets.
However, I think it is a good idea to periodically run without ccache just in case. This could be achieved be setting CCACHE_DISABLE=1
in scheduled pipelines.