Skip to content
Latchkey

O Que É actions/cache no GitHub Actions?

actions/cache salva e restaura diretórios entre execuções por chave, para você não baixar as dependências toda vez.

Instalar dependências em toda execução é lento e desperdiça recursos. actions/cache persiste diretórios escolhidos com chave em algo como o hash de um lockfile, restaurando-os na próxima execução para um grande ganho de velocidade.

O que é

A action oficial de cache. Você informa um path a cachear e uma key; num hit ela restaura o path, e ao fim do job salva o path sob aquela key num miss.

Caching npm
steps:
  - uses: actions/cache@v4
    with:
      path: ~/.npm
      key: npm-${{ hashFiles('package-lock.json') }}
      restore-keys: npm-

Como funciona

No início do job, a action procura uma correspondência exata de chave, recorrendo aos prefixos de restore-keys. Se nada corresponder, o job roda normalmente e o path é enviado como uma nova entrada de cache depois.

Escolhendo uma boa chave

As chaves geralmente fazem hash de um lockfile para que o cache invalide apenas quando as dependências mudam. As restore-keys fornecem fallbacks parciais para você ainda aproveitar a maior parte de um cache desatualizado após uma pequena mudança.

Por que importa

O cache pode cortar minutos de cada execução, o que reduz custo diretamente. Muitas actions setup-* têm cache embutido, mas actions/cache cobre qualquer outra coisa. Os runners gerenciados da Latchkey adicionam sua própria camada de cache por cima para builds ainda mais rápidos.

Conceitos relacionados

O cache difere dos artifacts: os caches aceleram execuções futuras, os artifacts compartilham outputs da execução atual.

Principais conclusões

  • actions/cache restaura e salva caminhos por chave.
  • Faça hash de um lockfile para a chave; use restore-keys como fallback.
  • Os caches aceleram as execuções e reduzem custo.

Guias relacionados