Acelere o GitHub Actions com cache local
(github.com/corca-ai)Muita gente usa o GitHub Actions para rodar pipelines de CI/CD no GitHub. Para acelerar os builds, é comum usar bastante cache, mas no início isso não parece um grande problema. Conforme o serviço cresce ou o número de branches aumenta, porém, o cache deixa de funcionar e tudo passa a ser recompilado sempre, o que torna o processo mais lento. Isso acontece porque o cache padrão do GitHub Actions tem um limite de 10 GB.
Para resolver esse problema, desenvolvemos um pacote que permite fazer cache localmente em um self-hosted runner.
- name: Cache node dependencies
id: node-cache
uses: corca-ai/local-cache@v2
with:
path: node_modules
key: node-${{ hashFiles(‘yarn.lock’) }}
clean-key: node-
github-hosted runnerEm vez de usar um , basta usar um self-hosted runner e, na parte em que antes era usado o cache existente, trocar apenas o campo uses para corca-ai/local-cache para começar a usar imediatamente.
O limite de tamanho do cache desaparece e, enquanto o cache anterior carregava os arquivos pela rede, o cache local carrega diretamente do disco, o que melhora drasticamente a velocidade do cache. No nosso caso, percebemos um ganho de velocidade de mais de 5 vezes.
1 comentários
Há algo semelhante em maxnowack/local-cache.