Blacksmith Cache
Speed up your workflows with the Blacksmith cache
The Blacksmith cache is a drop-in replacement for GitHub’s cache action.
Migrating from the actions/cache
to the Blacksmith cache is a one line change. Simply replace the actions/cache@v3
line in your workflow files with useblacksmith/cache@v5
.
If you’re using actions/cache/save
and actions/cache/restore
, you can migrate them to useblacksmith/cache/save
and useblacksmith/cache/restore
respectively.
For more information, refer to GitHub’s official documentation, since the Blacksmith cache is fully compatible with GitHub’s cache.
Language specific cache actions
In addition to the useblacksmith/cache
, Blacksmith also provides drop-in replacements for GitHub’s official actions/setup-*
actions.
These replacements have the same semantics as the official setup actions, but they are backed by Blacksmith’s much faster and more reliable cache.
Please refer to the README
of each setup action for detailed instructions on how to configure them.
For languages that we don’t have a setup action for, you can still leverage the useblacksmith/cache
action to cache dependencies by following these guidelines.
Some languages have popular cache actions that are not maintained by GitHub. Blacksmith offers drop-in replacements for these actions too so that you can leverage our faster cache.
Blacksmith offers a drop-in replacement for Swatinem/rust-cache@v2
. Once you make the changes outlined below, you can configure the action using these guidelines.
Other popular cache actions
As our customers migrate to Blacksmith, we keep growing our list of cache actions that are compatible with Blacksmith’s cache.
Using the Blacksmith cache inside a container
If your GitHub Actions job runs inside a container, you will need to ensure that the container is hydrated with certain Blacksmith specific environment variables. These environment variables allow the container to upload and download artifacts from Blacksmith’s cache.
To do this, you can add an env
section to your container definition as shown below.
If the container image does not have tar
installed, you will need to install it as a step inside the container. tar
is required to extract
the artifacts downloaded from Blacksmith’s cache.
Without these steps, you will see a 401
error or an Unauthenticated
error when restoring or saving to the Blacksmith cache.