Skip to content

Commit

Permalink
Cache backend API example
Browse files Browse the repository at this point in the history
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
  • Loading branch information
crazy-max committed Jul 13, 2021
1 parent 1bc1040 commit 3e9ad64
Showing 1 changed file with 45 additions and 4 deletions.
49 changes: 45 additions & 4 deletions docs/advanced/cache.md
Expand Up @@ -2,6 +2,8 @@

* [Registry cache](#registry-cache)
* [GitHub cache](#github-cache)
* [Cache backend API (experimental)](#cache-backend-api-experimental)
* [Local cache](#local-cache)

> More info about buildx cache: https://github.com/docker/buildx/blob/master/docs/reference/buildx_build.md#cache-from
Expand Down Expand Up @@ -46,13 +48,52 @@ jobs:

## GitHub cache

### Cache backend API (experimental)

Since [buildx](https://github.com/docker/buildx) 0.6 and [BuildKit](https://github.com/moby/buildkit) 0.9 you can use
the new [`type=gha` cache exporter](https://github.com/moby/buildkit/tree/master#github-actions-cache-experimental):

```yaml
name: ci

on:
push:
branches:
- 'master'

jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
-
name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: user/app:latest
cache-from: type=gha
cache-to: type=gha
```

### Local cache

> :warning: At the moment caches are copied over the existing cache so it [keeps growing](https://github.com/docker/build-push-action/issues/252).
> The `Move cache` step is used as a temporary fix (see https://github.com/moby/buildkit/issues/1896).
> :rocket: There is a new cache backend using GitHub cache being developed that will lighten your workflow.
> More info: https://github.com/docker/buildx/pull/535
You can leverage [GitHub cache](https://docs.github.com/en/actions/configuring-and-managing-workflows/caching-dependencies-to-speed-up-workflows)
You can also leverage [GitHub cache](https://docs.github.com/en/actions/configuring-and-managing-workflows/caching-dependencies-to-speed-up-workflows)
using [actions/cache](https://github.com/actions/cache) with this action:

```yaml
Expand Down

0 comments on commit 3e9ad64

Please sign in to comment.