Github Actions Cache - скаченные и готовые к работе зависимости, доступ к которым можно получить по строке-ключу.
Это можно представить как локальную директорию с архивами зависимостей, названия которых сопоставимо со строками-ключами. Так как архивы локальны, скорость к их доступу минимален.
Чтобы посмотреть все кэши Github репозитория нужно прокликать Actions -> Management.Caches.
Чтобы взаимодействовать с этим кэшом, Github разработал actions/cache. Он позволяет получить доступ к кэшу Github репозитория и с ним взаимодействовать.
Так как разработчики писали бы одинаковые инструкции взаимодействий с кэшом для своих пакетных менеджеров, то в некоторых популярных actions для установки языков программирования представлены обёртки над actions/cache, которые позволяют удобно создать кэш зависимостей для пакетных менеджеров этих языков.
Создание кэша
Проект создаётся на Python, так что в workflow используется actions/setup-python.
Для того, чтобы создать кэш при установке python указываются следующие параметры:
python-version - версия python.
3.11.3 как вы сами установили.
cache-dependency-path - файлы, которые будут использованы для создания строки-ключа. Каждый из файлов создаёт свой хэш, исходя из всех хэшов создаётся единый хэш, который будет использован для создания строки-ключа.pyproject.toml. Это единственный файл, из которого можно сказать, изменились ли зависимости проекта.
cache - кэшировать для выбранного пакетного менеджера. Видимо процесс создания и извлечения кэша для каждого менеджера разный.poetry.
И перед тем, как установить зависимости, можно проверить, установились ли они из кэша при установке python. Для этого проверяется переменная steps.setup-python.outputs.cache-hit на 'true'. И если так и есть, то можно не устанавливать зависимости.
Чтобы кэши сохранились в репозитории Github останется дожидаться успешного выполнение job.Сохранение кэша в actions/setup-python сделано в шаге Post Install Python, который выполняется только в случае непровального выполнения job.
Ссылки
Код из документации actions/setup-python для кэширования пакетов poetry: ссылка
Официальное ознакомление Github Actions Cache: ссылка
Как это работало у меня: последнее и получившееся самое быстрое.
Как всё работает
Github Actions Cache - скаченные и готовые к работе зависимости, доступ к которым можно получить по строке-ключу. Это можно представить как локальную директорию с архивами зависимостей, названия которых сопоставимо со строками-ключами. Так как архивы локальны, скорость к их доступу минимален. Чтобы посмотреть все кэши Github репозитория нужно прокликать
Actions
->Management.Caches
.Чтобы взаимодействовать с этим кэшом, Github разработал actions/cache. Он позволяет получить доступ к кэшу Github репозитория и с ним взаимодействовать.
Так как разработчики писали бы одинаковые инструкции взаимодействий с кэшом для своих пакетных менеджеров, то в некоторых популярных actions для установки языков программирования представлены обёртки над actions/cache, которые позволяют удобно создать кэш зависимостей для пакетных менеджеров этих языков.
Создание кэша
Проект создаётся на Python, так что в workflow используется actions/setup-python.
Для того, чтобы создать кэш при установке python указываются следующие параметры:
python-version
- версия python.3.11.3
как вы сами установили.cache-dependency-path
- файлы, которые будут использованы для создания строки-ключа. Каждый из файлов создаёт свой хэш, исходя из всех хэшов создаётся единый хэш, который будет использован для создания строки-ключа.pyproject.toml
. Это единственный файл, из которого можно сказать, изменились ли зависимости проекта.cache
- кэшировать для выбранного пакетного менеджера. Видимо процесс создания и извлечения кэша для каждого менеджера разный.poetry
.И перед тем, как установить зависимости, можно проверить, установились ли они из кэша при установке python. Для этого проверяется переменная
steps.setup-python.outputs.cache-hit
на'true'
. И если так и есть, то можно не устанавливать зависимости.Чтобы кэши сохранились в репозитории Github останется дожидаться успешного выполнение job. Сохранение кэша в actions/setup-python сделано в шаге Post Install Python, который выполняется только в случае непровального выполнения job.
Ссылки
Код из документации actions/setup-python для кэширования пакетов poetry: ссылка Официальное ознакомление Github Actions Cache: ссылка