Skip to content

C

C CI on GitHub Actions

Autotools or CMake configure runs before every build.

12m → 3m
Build

Autotools or CMake configure runs before every build.

Why it happens

The configure step probes the system each time and its results are never cached.

What to change

  1. Cache the CMake build directory and the ccache store
  2. Use ninja and build with --parallel across all cores
  3. Cache configure results with a stable CMAKE_C_COMPILER_LAUNCHER

C on runnerhut

yaml
jobs:
build:
runs-on: runnerhut-16vcpu-ubuntu-2404
steps:
- uses: actions/checkout@v4
- uses: hendrikmuhs/ccache-action@v1
- run: cmake -B build -G Ninja
- run: cmake --build build --parallel
A working starting point

The only runnerhut-specific line is `runs-on: runnerhut-16vcpu-ubuntu-2404`. Everything else is standard GitHub Actions — the same actions, the same secrets and the same permissions model you use today.

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.