Skip to content

Guides

How to use ccache in GitHub Actions

C and C++ builds recompile everything on every run.

5 min read

C and C++ builds recompile everything on every run.

Why it happens

ccache's store is not persisted, so it cannot short-circuit identical compilations.

How to fix it

  1. Cache ~/.ccache keyed on the compiler version and source hash
  2. Set CMAKE_C_COMPILER_LAUNCHER and CMAKE_CXX_COMPILER_LAUNCHER to ccache
  3. Print ccache -s at the end of the job so hit rate is visible
  4. Set max_size high enough — the default is often too small for CI

Your next build could be twice as fast, at half the price

Start free. Migrating away is the same one line, and we publish that diff too.