O Que É Build Avoidance?
Build avoidance é uma estratégia em que um build system detecta que as entradas de um target não mudaram e reaproveita uma saída produzida anteriormente em vez de reconstruí-la. Ela depende de um hashing preciso das entradas para que o reaproveitamento seja sempre correto. Bem feita, transforma pipelines grandes em, em sua maioria, cache hits.
Por que isso importa
A maioria das execuções de CI toca apenas uma pequena parte de uma base de código, mas pipelines ingênuos reconstroem tudo. Build avoidance corta o wall-clock time e o custo de runner ao fazer apenas o trabalho que uma mudança de fato exige. Em managed runners tarifados, menos targets reconstruídos se traduz diretamente em menos minutos cobrados.
Do que ela depende
- Hashing preciso das entradas para cada target
- Um cache que sobrevive entre execuções
- Builds determinísticos para que o reaproveitamento permaneça correto
Guias relacionados
What Is a Cache Key?A cache key is the identifier that determines which cached entry a lookup retrieves, typically derived from t…
What Is a Deterministic Build?A deterministic build produces the same output from the same inputs every time, with no run-to-run variation…
What Is a Build Cache?A build cache stores intermediate build outputs so unchanged work can be reused across runs instead of recomp…