Compare commits

...

3 Commits

Author SHA1 Message Date
Jose Quintana
b1bc5b7c0d
Merge b045ea1d9e into 53aa38c736 2025-01-08 15:25:47 -08:00
janco-absa
53aa38c736
Correct GitHub Spelling in caching-strategies.md (#1526)
GitHub was spelled incorrectly 3 lines under the Understanding how to choose path section
2025-01-06 16:55:00 +00:00
Jose Quintana
b045ea1d9e
Add Docker example 2023-12-02 00:28:50 +01:00
3 changed files with 37 additions and 1 deletions

View File

@ -181,6 +181,7 @@ See [Examples](examples.md) for a list of `actions/cache` implementations for us
* [Clojure - Lein Deps](./examples.md#clojure---lein-deps) * [Clojure - Lein Deps](./examples.md#clojure---lein-deps)
* [D - DUB](./examples.md#d---dub) * [D - DUB](./examples.md#d---dub)
* [Deno](./examples.md#deno) * [Deno](./examples.md#deno)
* [Docker](./examples.md#docker)
* [Elixir - Mix](./examples.md#elixir---mix) * [Elixir - Mix](./examples.md#elixir---mix)
* [Go - Modules](./examples.md#go---modules) * [Go - Modules](./examples.md#go---modules)
* [Haskell - Cabal](./examples.md#haskell---cabal) * [Haskell - Cabal](./examples.md#haskell---cabal)

View File

@ -102,7 +102,7 @@ The [GitHub Context](https://docs.github.com/en/actions/learn-github-actions/con
While setting paths for caching dependencies it is important to give correct path depending on the hosted runner you are using or whether the action is running in a container job. Assigning different `path` for save and restore will result in cache miss. While setting paths for caching dependencies it is important to give correct path depending on the hosted runner you are using or whether the action is running in a container job. Assigning different `path` for save and restore will result in cache miss.
Below are GiHub hosted runner specific paths one should take care of when writing a workflow which saves/restores caches across OS. Below are GitHub hosted runner specific paths one should take care of when writing a workflow which saves/restores caches across OS.
#### Ubuntu Paths #### Ubuntu Paths

View File

@ -10,6 +10,7 @@
- [Linux](#linux) - [Linux](#linux)
- [macOS](#macos) - [macOS](#macos)
- [Windows](#windows-1) - [Windows](#windows-1)
- [Docker](#docker)
- [Elixir - Mix](#elixir---mix) - [Elixir - Mix](#elixir---mix)
- [Erlang - Rebar3](#erlang--rebar3) - [Erlang - Rebar3](#erlang--rebar3)
- [Go - Modules](#go---modules) - [Go - Modules](#go---modules)
@ -176,6 +177,40 @@ steps:
key: ${{ runner.os }}-deno-${{ hashFiles('**/deps.ts') }} key: ${{ runner.os }}-deno-${{ hashFiles('**/deps.ts') }}
``` ```
## Docker
```yaml
- name: Cache Docker layers
uses: actions/cache@v3
with:
path: /tmp/.buildx-cache
key: my-project-${{ matrix.arch }}-buildx-${{ hashFiles('my-directory/Dockerfile') }}
restore-keys: |
my-project-${{ matrix.arch }}-buildx-
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and Test
uses: docker/build-push-action@v3
with:
push: false
context: .
platforms: ${{ matrix.arch }}
file: my-directory/Dockerfile
tags: my-username/my-image:latest
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max
-
# Temporary workaround
# https://github.com/docker/build-push-action/issues/252
# https://github.com/moby/buildkit/issues/1896
name: Move cache
run: |
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
```
## Elixir - Mix ## Elixir - Mix
```yaml ```yaml