Caching#
Dependency reinstalls between consecutive workflow runs are time consuming, and usually unnecessary. The process can be sped up by caching the builds of the packages. Caches are removed automatically if not accessed for 7 days, and their size can be up to 10GB. One can also manually remove a cache, if they want to reset the installation.
Caching pip
installs#
pip
packages can be cached by adding the cache: 'pip'
setting to the Python setup action. If one is not using the default requirements.txt
file for installation, they should also provide a dependency-path
.
Caching conda
installs#
Conda packages can be similarly cached withing the conda setup action.
Caching apt-get
installs#
Packages such as ffmpeg
can take long time to install. There is no official action to cache apt-get packages but they can be cached with the walsh128/cache-apt-pkgs-action.
- uses: walsh128/cache-apt-pkgs-action@latest
with:
packages: ffmpeg
Caching any data#
The general cache
action allows to cache data at any path. Apart from builds of packages, one can use this option to not regenerate results while testing.
- uses: actions/cache@v4
id: cache
with:
path: img/
key: img
- name: Get all files
if: steps.cache.outputs.cache-hit != 'true'
run: …