We're already using ccache, but it is used intra run (ie, for arm-01, sim, etc). We tried persisting it across runs (from different PRs) but it seems there was issues with that.
What I suggest means we have one cache pero board/config. The scripting shouldn't be too difficult but it requires much more storage. Not sure if we would be able to store it all.