>_ IzzyLab

Практическое задание

GitHub Actions: кэш зависимостей

средне

В /root/ci.yml опиши джоб build, который кэширует зависимости через официальный экшен actions/cache.

Что потренируешь:
  • github actions
  • actions/cache
  • кэширование
  • hashfiles
  • yaml

Разбор темы

actions/cache сохраняет указанный каталог (например ~/.npm или vendor) между запусками workflow под заданным ключом и восстанавливает его на следующем прогоне при точном совпадении ключа — тогда установка зависимостей отрабатывает намного быстрее. Ключ обычно строят из хэша lock-файла через hashFiles(...): при изменении зависимостей ключ меняется и кэш автоматически инвалидируется. Частая ошибка — кэшировать каталог, но не привязать ключ к lock-файлу, из-за чего кэш никогда не обновляется. Шаг подключают в steps через uses: с блоком with: (path, key).

Что проверяется

  1. YAML синтаксически валиден
  2. используется actions/cache

Как это выглядит