Yocto
Yocto CI on GitHub Actions
A Yocto build takes hours because sstate is empty.
4h → 70m
Cold build
4h → 12m
Warm build
A Yocto build takes hours because sstate is empty.
Why it happens
The shared state cache and downloads directory are not persisted between runs.
What to change
- Cache sstate-cache and downloads — this is the entire game with Yocto
- Use a 32 vCPU runner with a large NVMe scratch disk
- Point BB_NUMBER_THREADS and PARALLEL_MAKE at the core count
Yocto on runnerhut
yaml
jobs: build: runs-on: runnerhut-32vcpu-ubuntu-2404 steps: - uses: actions/checkout@v4 - run: | source oe-init-build-env bitbake core-image-minimalThe only runnerhut-specific line is `runs-on: runnerhut-32vcpu-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.