Cache do Bazel, execução remota e incompatibilidade de versão do glibc causam falha na produção

2025-09-21
Cache do Bazel, execução remota e incompatibilidade de versão do glibc causam falha na produção

Este artigo descreve uma falha na produção causada pela interação entre o cache do Bazel, a execução remota e versões diferentes do glibc em diferentes ambientes. Um desenvolvedor compila e testa uma alteração localmente, o CI aproveita o cache para compilar uma versão de lançamento, mas a implantação na produção falha devido a uma versão 'GLIBC_2.28' ausente. O artigo analisa como as discrepâncias na versão do glibc quebram a reprodutibilidade da compilação e apresenta soluções: um atalho rápido envolve capturar as versões locais e remotas do glibc, selecionando a mais alta para a cadeia de ferramentas C++; uma solução mais robusta restringe as gravações no cache de ação, forçando as compilações a serem executadas em executores remotos; a solução definitiva utiliza sysroots, instalando várias versões do glibc em todos os ambientes e especificando explicitamente qual usar. O artigo destaca a importância das compilações reprodutíveis, recomendando soluções com base no contexto.

Desenvolvimento