Skip to content

Commit 21b0348

Browse files
committed
Store RUN --mount=type=cache in Github cache
1 parent 942618e commit 21b0348

File tree

6 files changed

+71
-1
lines changed

6 files changed

+71
-1
lines changed

.github/workflows/scheduler_docker_image.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,27 @@ jobs:
7373
echo "PLATFORMS=linux/amd64,linux/arm64/v8" >> $GITHUB_ENV
7474
fi
7575
76+
# https://github.com/docker/buildx/discussions/1283#discussioncomment-5447590
77+
- name: Docker mount cache
78+
uses: actions/cache@v5
79+
id: docker-mount-cache
80+
with:
81+
key: docker-cache-scheduler-${{ hashFiles('docker/Dockerfile.worker', 'pyproject.toml', 'uv.lock') }}
82+
path: docker-cache-uv
83+
restore-keys: |
84+
docker-cache-scheduler-${{ hashFiles('docker/Dockerfile.worker', 'pyproject.toml', 'uv.lock') }}
85+
docker-cache-scheduler-
86+
87+
- name: Restore Docker cache mounts
88+
uses: reproducible-containers/buildkit-cache-dance@v3
89+
with:
90+
builder: ${{ steps.setup-buildx.outputs.name }}
91+
cache-map: |
92+
{
93+
"docker-cache-uv": "/root/.cache/uv"
94+
}
95+
skip-extraction: ${{ steps.docker-mount-cache.outputs.cache-hit }}
96+
7697
- name: Build scheduler image
7798
uses: docker/build-push-action@v6
7899
with:

.github/workflows/server_docker_image.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,27 @@ jobs:
6868
echo "PLATFORMS=linux/amd64,linux/arm64/v8" >> $GITHUB_ENV
6969
fi
7070
71+
# https://github.com/docker/buildx/discussions/1283#discussioncomment-5447590
72+
- name: Docker mount cache
73+
uses: actions/cache@v5
74+
id: docker-mount-cache
75+
with:
76+
key: docker-cache-server-${{ hashFiles('docker/Dockerfile.worker', 'pyproject.toml', 'uv.lock') }}
77+
path: docker-cache-uv
78+
restore-keys: |
79+
docker-cache-server-${{ hashFiles('docker/Dockerfile.worker', 'pyproject.toml', 'uv.lock') }}
80+
docker-cache-server-
81+
82+
- name: Restore Docker cache mounts
83+
uses: reproducible-containers/buildkit-cache-dance@v3
84+
with:
85+
builder: ${{ steps.setup-buildx.outputs.name }}
86+
cache-map: |
87+
{
88+
"docker-cache-uv": "/root/.cache/uv"
89+
}
90+
skip-extraction: ${{ steps.docker-mount-cache.outputs.cache-hit }}
91+
7192
- name: Build Server image
7293
uses: docker/build-push-action@v6
7394
with:

.github/workflows/worker_docker_image.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,30 @@ jobs:
7373
echo "PLATFORMS=linux/amd64,linux/arm64/v8" >> $GITHUB_ENV
7474
fi
7575
76+
# https://github.com/docker/buildx/discussions/1283#discussioncomment-5447590
77+
- name: Docker mount cache
78+
uses: actions/cache@v5
79+
id: docker-mount-cache
80+
with:
81+
key: docker-cache-worker-${{ hashFiles('docker/Dockerfile.worker', 'pyproject.toml', 'uv.lock', 'docker/download_ivy2_packages.py', 'syncmaster/worker/ivy2.py') }}
82+
path: |
83+
docker-cache-uv
84+
docker-cache-ivy2
85+
restore-keys: |
86+
docker-cache-worker-${{ hashFiles('docker/Dockerfile.worker', 'pyproject.toml', 'uv.lock', 'docker/download_ivy2_packages.py', 'syncmaster/worker/ivy2.py') }}
87+
docker-cache-worker-
88+
89+
- name: Restore Docker cache mounts
90+
uses: reproducible-containers/buildkit-cache-dance@v3
91+
with:
92+
builder: ${{ steps.setup-buildx.outputs.name }}
93+
cache-map: |
94+
{
95+
"docker-cache-uv": "/root/.cache/uv",
96+
"docker-cache-ivy2": "/root/.ivy2"
97+
}
98+
skip-extraction: ${{ steps.docker-mount-cache.outputs.cache-hit }}
99+
76100
- name: Build worker image
77101
uses: docker/build-push-action@v6
78102
with:

docker/Dockerfile.scheduler

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# syntax = docker/dockerfile:1.4
2+
13
ARG PYTHON_VERSION=3.13
24
FROM python:$PYTHON_VERSION-slim-bookworm AS base
35

docker/Dockerfile.server

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# syntax = docker/dockerfile:1.4
2+
13
ARG PYTHON_VERSION=3.13
24
FROM python:$PYTHON_VERSION-slim-bookworm AS base
35

docker/Dockerfile.worker

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# syntax=docker/dockerfile:1
1+
# syntax = docker/dockerfile:1.4
22

33
ARG PYTHON_VERSION=3.13
44
FROM python:$PYTHON_VERSION-slim-bookworm AS base

0 commit comments

Comments
 (0)