Affected Graph - Definição do Glossário de CI/CD
Um affected graph mapeia os arquivos alterados para os projetos que deles dependem, permitindo ao CI pular tudo que não foi afetado em vez de reconstruir o monorepo inteiro a cada commit.
Um affected graph identifica quais projetos ou tasks em um monorepo são impactados por um conjunto de arquivos alterados, percorrendo o grafo de dependências a partir das mudanças, para que o CI possa construir e testar apenas o que de fato mudou.
Ferramentas como Nx, Turborepo e Bazel calculam conjuntos afetados para manter o CI do monorepo rápido conforme o repo cresce.
Como é calculado
A ferramenta faz o diff contra um commit base, mapeia os arquivos alterados para os projetos donos e então percorre o grafo de dependências para incluir os dependentes. O resultado é o conjunto mínimo de targets que poderiam ser afetados.
Em CI
Rodar apenas os targets afetados mantém o tempo de pipeline aproximadamente proporcional ao tamanho da mudança, mas requer um grafo de dependências preciso; uma aresta faltante pode pular um target que deveria ter rodado.