Yocto/CI
Appearance
< Yocto
Yocto CI Overview
Build Nodes:
- Builds are run within Docker/VM images
- storage is local to build nodes (i.e. no NFS mounting or similar to access to shared space)
SSTATE mechanisms
Build Process of a Builder: - for a project the builder will always check first the local SSTATE cache and take artifacts from the if present - if artifacts are not present, the builder will check all upstream SSTATE caches (in defined order) and copy SSTATE artifacts from there (if present) - if no SSTATE is present, the tasks will be built and corresponding SSTATE artifacts will be added to local SSTATE cache
SSTATE Upstream - SSTATE cache - S3 sync with sstate and download as done in Tegra repo: https://github.com/OE4T/tegra-demo-distro/blob/master/layers/meta-demo-ci/classes/mirror_updates.bbclass
Further Reading
- Yocto SSTATE concept: https://docs.yoctoproject.org/overview-manual/concepts.html#shared-state-cache
- Yocto SSTATE management scripts: https://git.yoctoproject.org/poky/tree/scripts/sstate-cache-management.py
- https://www.thegoodpenguin.co.uk/blog/improving-yocto-build-time/