Мои зависимости редко меняются, и скомпилированные зависимости можно безопасно кэшировать до следующего изменения файла блокировки, в котором указываются их версии.Можно ли сохранить результат первого шага, чтобы в будущем рабочий процесс мог пропустить этот шаг?
Первый шаг:
Загрузите и скомпилируйте мои приложения.зависимости.
Действия GitHub сами по себе не сделают этого за вас. Единственный совет, который я могу вам дать, это то, что вы придерживаетесь лучших практик Docker, чтобы гарантировать, что если действия будутиспользуйте кэширование докера, ваше изображение может быть использовано повторно, а не восстановлено.См .: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#leverage-build-cache
При создании изображения Docker выполняет инструкции в вашем Dockerfile, выполняя каждое из них в указанном порядке.При рассмотрении каждой инструкции Docker ищет существующий образ в своем кэше, который он может использовать повторно, вместо создания нового (дублирующего) образа.
Это также означает, что базовая система действий GitHub может/ будет использовать кеширование Docker.
Несмотря на такие вещи, как компиляция, Docker не сможет использовать механизм кэширования, поэтому я советую вам очень хорошо подумать, если это то, что вам крайне необходимо.Альтернативой является загрузка скомпилированных / обработанных файлов из хранилища артефактов (Nexus, NPM, MavenCentral), чтобы пропустить этот шаг.Вы должны взвесить все преимущества и сложность, которую вы добавляете в свою сборку.