Support use of ccache per project
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cupstream2distro Configuration |
New
|
Undecided
|
Unassigned |
Bug Description
Is it possible to safely use ccache on a per-project basis by defining a flag in the project config:
ccache: True
It's not safe to use cache with concurrent builds, which we do for x86 builds. We can have project-X and project-Y building concurrently and two unique builds of project-X building at the same time (this happens when two or more merge proposals trigger -ci builds at the same time). We also have concurrent builds of amd64 and i386 flavors. The only environment where we do not have concurrent builds is armhf (and that could potentially be made concurrent in the future). However, it may be safe to do concurrent builds if correctly configured:
<Trevinho> fginther: in theory having it (per process config) would be nice... and probably would speed up rebuilds a lot
<Trevinho> fginther: however when using ccache + pch, it seems that the rebuilds are slower than only ccache (see final comment on https:/
<fginther> Trevinho, maybe a per-process config would be good. We can only use ccache builds for armhf because armhf is the only environment where concurrent builds don't happen (but is also where we could use the most speedup).
<Trevinho> fginther: can't we use ccache with different .ccache config also in other builders?
<fginther> Trevinho, I'm not aware of doing that, I can look into that as well
<Trevinho> fginther: in theory only setting CCACHE_DIR per each project should be enough
Need to investigate use of ccache as indicated and determine what parts of the build process need to be updated if it can be used.
Changed in cupstream2distro-config: | |
status: | New → Confirmed |
status: | Confirmed → New |