Simon Willison compartilha receita uvx com cache para GitHub Actions
O desenvolvedor Simon Willison publicou uma receita concisa para executar ferramentas uvx no GitHub Actions sem acionar o PyPI a cada build. O segredo está na variável UV_EXCLUDE_NEWER, que fixa a resolução de pacotes em uma data específica — e essa mesma data serve como chave de cache no GitHub Actions, eliminando a necessidade de um arquivo de dependências separado.
O workflow combina astral-sh/setup-uv com três configurações não padrão: cache-dependency-glob em branco, cache-suffix definido com a data UV_EXCLUDE_NEWER e prune-cache como false. Um passo adicional define UV_OFFLINE=1 em caso de cache hit, garantindo falha explícita se uma ferramenta não estiver em cache. Willison assume o pequeno custo de performance em troca de eliminar chamadas à CDN do PyPI — tradeoff familiar para equipes de ML que usam ferramentas como llm ou datasette em CI.